DatePicker

Одна дата

Ничего не выбрано

С временем

Ничего не выбрано

Диапазон дат

Диапазон не выбран

Кастомный формат

Состояния

Входные параметры

ИмяТипПо умолчаниюОписание
rangebooleanfalseРежим выбора диапазона дат.
withTimebooleanfalseПоказывать ввод времени в календаре.
localestring'ru'Локаль для календаря и форматирования.
formatstring'dd.MM.yyyy'Шаблон форматирования даты (токены: yyyy, MM, dd, HH, mm).
placeholderstring'Выберите дату'Подсказка, когда ничего не выбрано.
minDateDate | stringundefinedМинимальная доступная дата.
maxDateDate | stringundefinedМаксимальная доступная дата.
size'sm' | 'md' | 'lg'undefinedРазмер поля. Если не задан, берётся из C3FormField.
disabledbooleanfalseОтключает выбор.
errorbooleanfalseПризнак ошибки.
namestringundefinedИмя поля для форм.

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: берёт ошибку и размер из контекста и регистрирует геттер значения для валидации.
×