Sobes.tech
Back to questions
Middle
6

Расскажи про кастомные компоненты, которые писал на основе библиотеки NgZorro (NzZor). Например, про datepicker с бизнес-ограничениями по выходным дням.

Companies where asked
Цифротех

Answer from AI

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. Аналогично можно создавать более сложные кастомные компоненты, комбинируя возможности библиотеки с собственной логикой.