Назад к вопросам
Middle
7
Расскажи про кастомные компоненты, которые писал на основе библиотеки NgZorro (NzZor). Например, про datepicker с бизнес-ограничениями по выходным дням.
Компании, где спрашивали
Цифротех
Ответ от нейросети
sobes.tech AI
При работе с библиотекой NgZorro часто возникает необходимость создавать кастомные компоненты, расширяющие базовый функционал. Например, для datepicker с бизнес-ограничениями по выходным дням можно сделать следующее:
- Использовать стандартный
nz-date-pickerкак основу. - Добавить функцию, которая будет отключать выбор дат, попадающих на выходные (суббота и воскресенье).
- Для этого реализовать метод
nzDisabledDate, который принимает дату и возвращаетtrue, если дата должна быть недоступна.
Пример:
disabledDate = (current: Date): boolean => {
const day = current.getDay();
// Отключаем субботу (6) и воскресенье (0)
return day === 0 || day === 6;
}
В шаблоне:
<nz-date-picker [nzDisabledDate]="disabledDate"></nz-date-picker>
Таким образом, можно реализовать бизнес-логику ограничения выбора дат, не меняя базовый компонент, а расширяя его через API NgZorro. Аналогично можно создавать более сложные кастомные компоненты, комбинируя возможности библиотеки с собственной логикой.