DatePicker
Одна дата
Ничего не выбрано
С временем
Ничего не выбрано
Диапазон дат
Диапазон не выбран
Кастомный формат
Состояния
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
range | boolean | false | Режим выбора диапазона дат. |
withTime | boolean | false | Показывать ввод времени в календаре. |
locale | string | 'ru' | Локаль для календаря и форматирования. |
format | string | 'dd.MM.yyyy' | Шаблон форматирования даты (токены: yyyy, MM, dd, HH, mm). |
placeholder | string | 'Выберите дату' | Подсказка, когда ничего не выбрано. |
minDate | Date | string | undefined | Минимальная доступная дата. |
maxDate | Date | string | undefined | Максимальная доступная дата. |
size | 'sm' | 'md' | 'lg' | undefined | Размер поля. Если не задан, берётся из C3FormField. |
disabled | boolean | false | Отключает выбор. |
error | boolean | false | Признак ошибки. |
name | string | undefined | Имя поля для форм. |
v-model привязывает одну дату или диапазон через defineModel<DateValue>({ default: null }), где DateValue = Date | string | null | [Date | string | null, Date | string | null].
Описание
Компонент C3DatePicker — поле выбора даты, диапазона и времени с выпадающим календарём. По клику открывается меню с компонентом C3Calendar, из которого выбирается дата. Отображение значения форматируется по шаблону format с учётом локали.
Используйте range для выбора диапазона «от — до», withTime для дополнительного выбора времени и format/locale для управления представлением даты.
Дополнительная информация
- Меню рендерится через
Teleport to="body"и позиционируется под триггером с рольюdialog; закрывается по клику вне или нажатиемEscape. - Триггер открывается по клику либо по
Enter/пробелу и несёт атрибутыaria-expandedиaria-haspopup="dialog". - Выбор даты не закрывает меню: в режиме одной даты это позволяет передумать и выбрать другую, а в режиме
range— расставить вторую границу. Закрытие только по кнопке «Готово»,Escape, повторному клику по полю или клику вне. - Триггер — обычное поле формы: высота, отступы и размер шрифта берутся из общих миксинов, поэтому
DatePickerсовпадает по высоте сInputиSelectодного размера. - Внутренний календарь получает пропы
locale,min-date,max-date,rangeиwith-time. - Компонент интегрируется с
C3FormField: берёт ошибку и размер из контекста и регистрирует геттер значения для валидации.