Описание props всех компонентов

В библиотеке Ant Design (AntD) каждый компонент обладает набором свойств, или props, которые позволяют управлять его поведением, внешним видом и взаимодействием с другими компонентами. Props задаются как атрибуты при использовании компонента в JSX и могут принимать значения различных типов: строки, числа, логические значения, функции, объекты и массивы.

AntD придерживается строгой типизации props и предоставляет подробную документацию для каждого компонента, что позволяет точно контролировать интерфейс и логику приложения. Props можно условно разделить на несколько категорий:

  • Структурные – управляют вложенностью и составом компонента.
  • Визуальные – отвечают за стиль и внешний вид (цвет, размер, отступы).
  • Функциональные – содержат callback-функции для обработки событий и взаимодействия с компонентами.
  • Конфигурационные – задают режимы работы, валидацию и дополнительные параметры компонента.

Props базовых компонентов

Button

Кнопка (Button) является одним из ключевых компонентов AntD. Основные props:

  • type (primary | default | dashed | link | text | ghost) – задает стиль кнопки.
  • shape (default | circle | round) – форма кнопки.
  • size (large | middle | small) – размер кнопки.
  • danger (boolean) – визуальное выделение опасного действия.
  • loading (boolean | { delay: number }) – состояние загрузки с возможной задержкой.
  • icon (ReactNode) – добавление иконки в кнопку.
  • disabled (boolean) – блокировка кнопки.
  • onClick (function) – обработчик события клика.

Input

Текстовое поле (Input) обладает широким набором props:

  • value (string) – текущее значение поля.
  • defaultValue (string) – начальное значение при первом рендере.
  • placeholder (string) – текст подсказки.
  • disabled (boolean) – блокировка поля.
  • allowClear (boolean) – добавление кнопки очистки.
  • prefix / suffix (ReactNode) – вставка иконок или элементов перед или после текста.
  • onChange (function) – обработчик изменения значения.
  • onPressEnter (function) – обработчик события нажатия Enter.

Select

Компонент выбора (Select) предназначен для выпадающих списков:

  • value / defaultValue – выбранное значение.
  • mode (multiple | tags) – режим выбора нескольких элементов или тегов.
  • placeholder – текст-подсказка.
  • disabled – блокировка.
  • allowClear – возможность очистки выбора.
  • showSearch (boolean) – включение поиска внутри списка.
  • optionLabelProp (string) – какой проп использовать для отображения выбранного значения.
  • onChange / onSelect / onDeselect – функции обратного вызова для событий выбора.

Props компонентов отображения данных

Table

Таблица (Table) имеет расширенные props для настройки отображения и взаимодействия:

  • columns (array) – описание колонок, включая title, dataIndex, key, render.
  • dataSource (array) – массив объектов с данными.
  • rowKey (string | function) – уникальный идентификатор строки.
  • pagination (object | boolean) – конфигурация постраничного отображения.
  • loading (boolean | object) – состояние загрузки таблицы.
  • bordered (boolean) – отображение границ таблицы.
  • rowSelection (object) – настройка выбора строк.
  • scroll (object) – настройка горизонтальной и вертикальной прокрутки.
  • onChange (function) – обработчик изменения сортировки, фильтра или пагинации.

List

Список (List) использует props для управления данными и внешним видом:

  • dataSource (array) – массив элементов.
  • renderItem (function) – функция рендера каждого элемента.
  • header / footer (ReactNode) – шапка и подвал списка.
  • bordered – рамка вокруг списка.
  • loading – индикатор загрузки.
  • pagination – объект с параметрами постраничного отображения.

Props для модальных компонентов

Модальное окно (Modal) обладает обширным набором props:

  • visible (boolean) – управление видимостью.
  • title (ReactNode) – заголовок окна.
  • footer (ReactNode | null) – кастомизация кнопок внизу окна.
  • onOk / onCancel (function) – обработчики событий закрытия или подтверждения.
  • okText / cancelText (string) – подписи кнопок.
  • width (number | string) – ширина окна.
  • maskClosable (boolean) – закрытие при клике на фон.
  • destroyOnClose (boolean) – удаление содержимого при закрытии.
  • centered (boolean) – центрирование модального окна на экране.

Props для навигации и меню

Компонент меню (Menu) управляет навигацией и выбором:

  • mode (vertical | horizontal | inline) – направление меню.
  • theme (light | dark) – цветовая тема.
  • selectedKeys / defaultSelectedKeys – выделенные элементы.
  • openKeys / defaultOpenKeys – открытые подменю.
  • onClick / onOpenChange – обработчики событий выбора и раскрытия подменю.
  • inlineCollapsed (boolean) – свертывание вертикального меню.

Хлебные крошки (Breadcrumb) имеют минимальный, но функциональный набор props:

  • items (array) – массив объектов с title и href.
  • separator (ReactNode) – символ разделителя между элементами.
  • itemRender (function) – кастомный рендер элемента.

Props для уведомлений и обратной связи

Message / Notification

Компоненты обратной связи используют следующие props:

  • type (success | info | warning | error | loading) – тип сообщения.
  • content (ReactNode) – текст или элемент сообщения.
  • duration (number | null) – время отображения.
  • onClose (function) – функция закрытия.
  • placement (topLeft | topRight | bottomLeft | bottomRight) – позиция уведомления.
  • icon (ReactNode) – иконка перед текстом.

Spin

Индикатор загрузки (Spin) управляется через props:

  • spinning (boolean) – состояние активности индикатора.
  • size (small | default | large) – размер.
  • tip (string) – подпись под индикатором.
  • indicator (ReactNode) – кастомная анимация загрузки.

Общие свойства для всех компонентов

Многие props в AntD являются универсальными и повторяются в разных компонентах:

  • className – добавление CSS-классов.
  • style – inline-стили через объект JavaScript.
  • id – уникальный идентификатор DOM-элемента.
  • ref – доступ к экземпляру компонента или DOM-узлу.
  • key – идентификатор для списков элементов в React.

Эта систематизация props позволяет создавать сложные интерфейсы, обеспечивая высокую гибкость и консистентность компонентов Ant Design.