defaultDate задаёт начальное значение календаря Flatpickr при инициализации, определяя дату или набор дат, которые будут выбраны в интерфейсе до любого взаимодействия пользователя. Параметр влияет одновременно на визуальное состояние календаря и на значение связанного input-элемента, если не переопределено поведение другими настройками.
Поддерживается несколько форматов задания значения, что делает параметр гибким для различных сценариев интеграции.
Наиболее распространённый вариант — строковое представление даты:
flatpickr("#input", {
defaultDate: "2026-05-30"
});
Строка интерпретируется в соответствии с настройками
dateFormat, если они заданы. При отсутствии явного формата
используется стандартный ISO-парсер.
Особенность заключается в том, что строка проходит через внутренний механизм разбора дат Flatpickr, который учитывает локализацию, формат и режим работы календаря.
Использование нативного объекта Date позволяет избежать
неоднозначности парсинга:
flatpickr("#input", {
defaultDate: new Date(2026, 4, 30)
});
В этом случае Flatpickr не выполняет строковый разбор, а напрямую использует переданную временную метку. Такой подход снижает вероятность ошибок, связанных с форматированием и локалями.
При работе в режимах multiple или range
параметр принимает массив значений:
flatpickr("#input", {
mode: "multiple",
defaultDate: ["2026-05-30", "2026-06-01", "2026-06-10"]
});
или:
flatpickr("#input", {
mode: "range",
defaultDate: ["2026-05-01", "2026-05-10"]
});
В режиме диапазона массив должен содержать ровно две даты, определяющие границы интервала. В режиме множественного выбора допускается произвольное количество элементов.
При создании экземпляра Flatpickr значение defaultDate
обрабатывается до рендера календаря. Последовательность обработки
включает несколько этапов:
Если input уже содержит значение, оно может иметь приоритет над
defaultDate, если не переопределено настройкой
defaultDate совместно с allowInput и ручной
инициализацией через setDate.
Поведение при конфликте источников данных зависит от контекста:
defaultDatesetDate после инициализации имеет наивысший
приоритетdefaultDate применяется только на этапе создания
экземпляра<input id="input" value="2026-01-01">
<script>
flatpickr("#input", {
defaultDate: "2026-05-30"
});
</script>
В таком случае итоговое значение может зависеть от того, как Flatpickr интерпретирует уже существующее значение input.
Форматирование напрямую влияет на интерпретацию строкового
defaultDate:
flatpickr("#input", {
dateFormat: "d.m.Y",
defaultDate: "30.05.2026"
});
Если формат не совпадает с входной строкой, возможны некорректные результаты парсинга или fallback к текущей дате.
Использование объекта Date устраняет зависимость от
dateFormat при разборе, но не при отображении.
В стандартной конфигурации календаря defaultDate
устанавливает одну выбранную дату:
flatpickr("#input", {
defaultDate: "2026-05-30"
});
Каждая дата из массива отображается как выбранная:
flatpickr("#input", {
mode: "multiple",
defaultDate: ["2026-05-01", "2026-05-05"]
});
Внутренне Flatpickr формирует список выбранных значений, который синхронизируется с UI.
Две даты определяют начало и конец диапазона:
flatpickr("#input", {
mode: "range",
defaultDate: ["2026-05-01", "2026-05-10"]
});
Если передано более двух значений, учитываются только первые два элемента массива.
Flatpickr использует собственный парсер дат, который учитывает:
При неоднозначных строках, например "05-06-2026",
интерпретация зависит от dateFormat, что может привести к
различным результатам в зависимости от настроек.
После инициализации изменение defaultDate напрямую не
влияет на уже созданный экземпляр. Для обновления состояния используется
метод:
instance.setDate("2026-06-01");
Таким образом, defaultDate рассматривается как
исключительно инициализационный параметр, не участвующий в реактивных
изменениях.
При использовании altInput: true значение
defaultDate синхронизируется с альтернативным полем
отображения:
flatpickr("#input", {
altInput: true,
altFormat: "F j, Y",
defaultDate: "2026-05-30"
});
В этом случае:
input хранит внутреннее значениеaltInput отображает форматированную датуdefaultDate инициализирует оба значения синхронноЕсли defaultDate выходит за пределы ограничений,
заданных через minDate и maxDate, результат
зависит от внутренней логики:
flatpickr("#input", {
minDate: "2026-06-01",
defaultDate: "2026-05-30"
});
В подобных случаях Flatpickr может либо скорректировать значение, либо игнорировать его, чтобы сохранить консистентность диапазона допустимых дат.
flatpickr("#input", {
defaultDate: new Date()
});
Используется для установки текущей даты как значения по умолчанию.
flatpickr("#input", {
defaultDate: localStorage.getItem("savedDate")
});
Позволяет восстановить ранее выбранную дату при повторной загрузке интерфейса.
flatpickr("#input", {
mode: "range",
defaultDate: ["2026-05-01", "2026-05-15"]
});
Применяется для фильтрации периодов, отчётов и календарных выборок.
При передаче некорректной строки:
flatpickr("#input", {
defaultDate: "invalid-date"
});
возможны следующие сценарии:
Поведение зависит от версии Flatpickr и конфигурации локали, однако в большинстве случаев система стремится к безопасному fallback.
После инициализации значение defaultDate
трансформируется в внутреннее состояние selectedDates.
Дальнейшая работа календаря опирается именно на него, а не на исходный
параметр.
instance.selectedDates
Таким образом, defaultDate является входной точкой и не
сохраняется как активная переменная конфигурации после создания
экземпляра.