Получить выбранную дату до события onChange с помощью flatpickr - PullRequest
0 голосов
/ 09 июля 2019

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

Однако я могу получить дату из события 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.
  }
}

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

Любойпомощь очень ценится.

1 Ответ

0 голосов
/ 09 июля 2019

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

onReady: function (selectedDates, dateStr, instance) {

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

    }, 
...