DatePicker

Быстрый старт​

Live Editor

Result

Управление внешним видом​

Внешний вид компонента задаётся с помощью свойства appearance. appearance="viewMode" — режим просмотра.

Live Editor

Result

Размер DatePicker задаётся с помощью свойства size.

Live Editor

Result

Выравнивание переключателя периода​

Свойство periodSelectorAlign управляет выравниванием переключателя периода в календаре DatePicker: start (по умолчанию) — слева, center — по центру между стрелками навигации.

Live Editor

Result

Формат даты​

Формат даты задается с помощью свойства format.

ОбозначениеОтображениеОписание
DD01-31Дни месяца, 2 цифры
D1-31Дни месяца
MMMMJanuary...December / январь...декабрьМесяц года, полное название
MMMJan...Dec / янв.-дек.Месяц года, сокращенное название
MM01-12Месяц года, 2 цифры
M1-12Месяц года
YYYY2024Год из 4 цифр
YY24Год из 2 цифр
Q1-4Квартал

При выборе даты в календаре или вводе даты через поле ввода, дата будет приводиться к заданному формату. Свойство maskWithFormat позволяет маскировать ввод, кроме случаев когда месяц имеет формат полной записи MMMM:

Live Editor

Result

Пользовательские названия кварталов​

Названия кварталов задаются с помощью свойства quarterNames. По умолчанию используются значения Q1, Q2, Q3, Q4.

Live Editor

Result

Язык даты​

Язык даты задается с помощью свойства lang.

ОбозначениеОтображениеОписание
ruJuneАнглийский Язык
enиюньРусский язык

По умолчанию используется ru

Live Editor

Result

Валидация и индикация успешного ввода даты​

За индикацию ошибки или успешного ввода отвечают valueError, valueSuccess. В данном примере валидация происходит при нажатии клавиши Enter после ввода значений:

Live Editor

Result

Обязательность поля​

tip

Наличие индикатора регулируется свойством hasRequiredIndicator.

Обязательность поля задаётся с помощью свойства required. Если поле является обязательным, то у компонента появляется специальный индикатор. Изменить расположение индикатора можно с помощью свойства requiredPlacement, которое принимает значения left и right.

Live Editor

Result

Отслеживание отображаемого месяца и года​

Свойство onChangeVisibleDate сообщает, какой период сейчас показан в календаре. Обработчик получает Date — первое число видимого периода: месяца в режиме Days, года в режимах Months и Quarters, первого года страницы в режиме Years.

Вызывается, когда период меняется:

  • при листании стрелками вперёд и назад;
  • при выборе месяца или года через заголовок календаря;
  • когда новое значение выводит календарь на другой период.

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

Обработчик не вызывается при переключении уровня через заголовок (дни → месяцы → годы): меняется масштаб, а не период.

Live Editor

Result

Всплывающая подсказка для событий календаря​

С помощью eventList, eventMonthList, eventQuarterList и eventYearList можно задать список событий для определенной даты

Элемент списка имеет следующую структуру:

    type EventDay {
date: Date;
color?: string;
eventInfo?: ReactNode;
}

Типизация свойств всплывающего окна:

type EventTooltipOptions = {
/**
* Обертка для всплывающей подсказки для событий.
*/
bodyWrapper?: FC<PropsWithChildren>;
/**
* Размер всплывающей подсказки для событий.
*/
size?: string;
/**
* Направление раскрытия тултипа.
*/
placement?: PopoverPlacement | Array<PopoverPlacementBasic>;
/**
* Отступ окна относительно элемента, у которого оно вызвано.
* @default
* [0, 8]
*/
offset?: [number, number];
/**
* Видимость стрелки (хвоста).
*/
hasArrow?: boolean;
/**
* Анимированное появление/сокрытие.
*/
animated?: boolean;
/**
* Минимальная ширина окна (в rem).
*/
minWidth?: number | string;
/**
* Максимальная ширина окна (в rem).
*/
maxWidth?: number | string;
};
Live Editor

Result

DatePickerRange​

Быстрый старт​

Компонент DatePickerRange представляет собой Range с выпадающим календарем. Календарь может быть одиночным или двойным. За это отвечает свойство isDoubleCalendar.

Live Editor

Result

Управление внешним видом​

Размер DatePickerRange задаётся с помощью свойства size. Возможные значения свойства: "s", "xs".

Календарь может быть одиночным или двойным. За это отвечает свойство isDoubleCalendar.

Live Editor

Result

Независимый выбор дат​

Поля начальной и конечной даты заполняются независимо — в любом порядке.

При выборе даты через календарь применяется умный своп: если введённые даты расположены в неправильном порядке, они автоматически меняются местами.

При заполнении только второго поля фокус автоматически переходит к первому для завершения диапазона.

Live Editor

Result

Ограничение диапазона дат​

Свойства min и max задают допустимый диапазон дат. Свойство includeEdgeDates включает граничные даты в допустимый диапазон.

Live Editor

Result

API​

DatePicker​

DatePickerRange​