Параметр noCalendar в Flatpickr управляет отображением
календарной сетки выбора дат. При его включении календарь полностью
скрывается, а компонент переключается в режим работы только со временем
(time picker), если активирован enableTime. В противном
случае поле превращается в упрощённый инпут без визуального календаря,
фактически ограничиваясь текстовым вводом или минимальным UI в
зависимости от конфигурации.
Основная роль noCalendar заключается в разделении
сценариев выбора даты и времени, когда календарная логика не требуется и
интерфейс должен быть компактным.
При стандартной инициализации Flatpickr отображает календарь выбора даты:
flatpickr("#input", {
dateFormat: "Y-m-d"
});
Добавление noCalendar: true изменяет поведение
компонента:
flatpickr("#input", {
noCalendar: true,
enableTime: true,
dateFormat: "H:i"
});
В этом режиме календарная сетка не создаётся, а интерфейс ограничивается выбором времени.
enableTimenoCalendar практически всегда используется совместно с
enableTime. Их комбинация формирует классический time
picker:
flatpickr("#timeInput", {
noCalendar: true,
enableTime: true,
time_24hr: true,
dateFormat: "H:i"
});
Ключевое поведение:
enableTime: true активирует выбор времениnoCalendar: true убирает календарьЕсли enableTime не включён, noCalendar
приводит к упрощённому состоянию без календаря и без полноценного time
UI, что может выглядеть как обычное текстовое поле с
форматированием.
dateFormat)При использовании noCalendar критическое значение
приобретает dateFormat. Он определяет, какие данные
сохраняются и как интерпретируется ввод.
Примеры:
flatpickr("#time1", {
noCalendar: true,
enableTime: true,
dateFormat: "H:i"
});
flatpickr("#time2", {
noCalendar: true,
enableTime: true,
dateFormat: "H:i:S"
});
Использование даты в формате (Y-m-d) при активном
noCalendar становится логически избыточным, так как дата не
выбирается через интерфейс. Однако Flatpickr продолжает хранить
внутреннюю дату (обычно текущую или заданную через
defaultDate), что может приводить к скрытым значениям даты
при сериализации.
Несмотря на отсутствие календаря, Flatpickr продолжает оперировать
объектом Date. Это означает:
Пример:
flatpickr("#time", {
noCalendar: true,
enableTime: true,
defaultDate: new Date(2026, 0, 1, 14, 30),
dateFormat: "H:i"
});
В этом случае дата 2026-01-01 остаётся частью объекта,
но не отображается пользователю.
defaultDatedefaultDate особенно важен при отключённом календаре,
так как он определяет стартовое значение времени:
flatpickr("#meetingTime", {
noCalendar: true,
enableTime: true,
defaultDate: "12:00",
dateFormat: "H:i"
});
Особенности:
Date объектуПри работе в режиме noCalendar часто используется
управление форматом времени через time_24hr:
flatpickr("#time", {
noCalendar: true,
enableTime: true,
time_24hr: false,
dateFormat: "h:i K"
});
Поведение:
h:i K включает 12-часовой формат с AM/PMH:i используется для 24-часового форматаtime_24hr влияет на отображение и парсингПри активном noCalendar проявляются специфические
особенности:
Игнорирование даты при вводе
Зависимость от dateFormat
Скрытая дата
Совместимость с altInput
altInput и altFormatПри использовании альтернативного поля важно синхронизировать отображаемое значение:
flatpickr("#time", {
noCalendar: true,
enableTime: true,
altInput: true,
altFormat: "H:i",
dateFormat: "H:i"
});
В таком режиме:
altInput отображает форматированное времяnoCalendar часто применяется в следующих сценариях:
Типичный пример конфигурации для расписаний:
flatpickr(".time-picker", {
noCalendar: true,
enableTime: true,
time_24hr: true,
minuteIncrement: 5,
dateFormat: "H:i"
});
minDate и maxDateДаже при отключённом календаре можно ограничивать диапазон времени:
flatpickr("#time", {
noCalendar: true,
enableTime: true,
minDate: "09:00",
maxDate: "18:00",
dateFormat: "H:i"
});
В этом режиме:
При отсутствии defaultDate и значении в инпуте:
placeholder или
altInputDate может быть null до первого
выбораПри noCalendar локаль влияет только на временные
элементы:
Календарные локализационные настройки (месяцы, дни недели) становятся неактуальными, так как UI календаря отсутствует.
Комбинация параметров формирует несколько типовых режимов:
Полноценный date picker
noCalendar: falseenableTime: falseДата + время
noCalendar: falseenableTime: trueЧистый time picker
noCalendar: trueenableTime: trueУпрощённое поле без календаря и времени
noCalendar: trueenableTime: false