Получить выбранную дату до события onChange с помощью flatpickr

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

Однако я могу получить дату из события onChange, но в некоторых случаях это может быть слишком поздно.

Вот пример моего кода, чтобы объяснить больше:

startDateAccomm = flatpickr("#StartDate", {
  minDate: instance.selectedDates[0],
  dateFormat: dateFormat,
  onChange: function (selectedDates, dateStr, instance) {
    if (selectedDates.length > 0) {
        endDateAccomm.config.minDate = selectedDates[0];

    if (startDateAccomm.selectedDates.length > 0) {
        startDateSelected = startDateAccomm.selectedDates[0].getFullYear() + "-" + (startDateAccomm.selectedDates[0].getMonth() + 1) + "-" + startDateAccomm.selectedDates[0].getDate();
    }

    if (endDateAccomm.selectedDates.length > 0) {
        endDateSelected = endDateAccomm.selectedDates[0].getFullYear() + "-" + (endDateAccomm.selectedDates[0].getMonth() + 1) + "-" + endDateAccomm.selectedDates[0].getDate();
    }
  }

  if () {
    //do something here.
  }
}

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

Любая помощь приветствуется.


person Smac    schedule 09.07.2019    source источник


Ответы (1)


После опробования различных событий и перехватчиков, предоставляемых flatpickr https://flatpickr.js.org/events/#hooks Я смог использовать событие onReady.

onReady: function (selectedDates, dateStr, instance) {

        startDateSelected = selectedDates[0].getFullYear() + "-" + 
        (selectedDates[0].getMonth() + 1) + "-" + selectedDates[0].getDate();            

    }, 
person Smac    schedule 09.07.2019