Как отключить определенные даты на DatePicker в Materialise 1.0? - PullRequest
0 голосов
/ 05 мая 2018

До того, как было действительно легко отключить определенную дату с опцией отключить:

$('.datepicker').pickadate({
  disable: [
    new Date(2015,3,13),
    new Date(2015,3,29)
  ]
})

Но теперь у него есть только опция с именем disableDayFn, которая, насколько я знаю, работает примерно так:

disableDayFn: function(date) {
   return date.getDay() == 1 || date == new Date(2018, 26, 5); //Not working
},

Часть о getDay отключается каждый первый день в datepicker (воскресенье, понедельник или что-то еще, что вы настроили), но я не смог отключить определенную дату, я также пытался использовать getDate(), но это отключает определенный номер дня в каждом месяце, а не конкретный. Я часами пытался понять это.

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Мне удалось заставить это работать, преобразовав дату в строку для сравнения, как показано ниже:

disableDayFn: (date) => {
    return date.toString() == (new Date(2018, 6, 9)).toString() || date.toString() == (new Date(2018, 6, 19)).toString();
}
0 голосов
/ 06 мая 2018

Что ж, я закончил экспериментировать и решить это сам, если у кого-то есть такая же проблема, мое решение было таким:

var disabledDays = ['2018-05-06', '2018-05-18'];

var pickADate = M.Datepicker.init(elem, {
  disableDayFn: function(date) {
    var dateParsed = date.toISOString().split("T")[0];
    return (
      date.getDay() == 1 ||  //This disables first day of the week
      date.getDay() == 4 ||  //This disables fourth day of the week
      disabledDays.indexOf(dateParsed) > -1 //This checks if the date is in disabledDays
    );
  }
});
...