nazar-pc / PickMeUp

Really simple, powerful, customizable and lightweight standalone datepicker
BSD Zero Clause License
615 stars 191 forks source link

Как после инициализации календаря поменять его параметры , опции (в частности render)? #189

Closed liyagan closed 6 years ago

liyagan commented 6 years ago

У меня 2 поля формы - список ресторанов и календарь, и в зависимости от ресторана, надо активировать или деактивировать даты?Как после инициализации календаря поменять его опции (в частности render)?

render: function(date) {
      if (date.toDateString() === now.toDateString()) {
        console.log(date.toDateString());
        return {
          selected: false
        };
      }
nazar-pc commented 6 years ago

За вас код писать я не буду, но направление в примере выше верное. Только учтите что у вас время должно быть идентично до секунд (календарь внутри время постоянно сбрасывает в 0, убедитесь что ваш объект Date тоже имеет нулевое время для того, чтобы === работало).

liyagan commented 6 years ago

Меня в данном случае волнует не функция в опции render, А как изменить эту опцию уже после инициализации pickmeup

nazar-pc commented 6 years ago

После инициализации публичных API для изменения опций нет, рекомендуется вызвать метод destroy() и инициализировать заново.

Если вы используете render, то менять её никакой необходимости быть не должно, ибо функция может брать информацию о том, какие даты изменять, извне, оставаясь неизменной.

Если у вас есть какая-то очень специфическая задача (к которой render точно не относится), можете попробовать напрямую поредактировать внутреннее состояние (https://github.com/nazar-pc/PickMeUp#other), но в 99.99% это совершенно не нужно. В крайнем случае, я ещё не встречал вопросов, которые нельзя было решить существующими публичными API библиотеки.

liyagan commented 6 years ago

Поняла Вас, спасибо!