Перейти к содержимому
v2.5.0
English
Русский
Документация

Collapsible

Collapsible — составной компонент для одной раскрывающейся области с триггером и поверхностью содержимого.

Пропсы корня

ПропТипПо умолчанию
openboolean—
Управляет тем, развёрнуто ли содержимое. Если задан, компонент работает как контролируемый.
defaultOpenbooleanfalse
Определяет, развёрнуто ли содержимое по умолчанию.
onChangeOpen(value: boolean) => void—
Колбэк, вызываемый при изменении состояния открытия. При переключении вызывается со следующим значением boolean.
onChangeHidden(value: boolean) => void—
Необязательный колбэк, вызываемый при изменении скрытого состояния (видимости). Может отличаться от open, если используются анимации или задержки.
childrenReactNode | ReactNode[]—
Содержимое для рендера внутри сворачиваемого контейнера. Может быть одним узлом или списком React-узлов.
contentIdstring—
ID элемента сворачиваемого содержимого. Используется, чтобы: связать триггер и содержимое атрибутами доступности (aria-controls); открыть развёрнутую область вспомогательным технологиям; дать стабильный идентификатор для тестов и запросов к DOM. Если не задан, ID генерируется внутри.

Дочерние части

  • CollapsibleTrigger: поверхность триггера с aria-expanded и aria-controls.
  • CollapsibleContent: раскрывающаяся область содержимого, управляющая переходами высоты и скрытым состоянием.

CollapsibleContent

ПропТипПо умолчанию
refRef<HTMLDivElement>—
Ref, передаваемый на корневой контейнер сворачиваемого содержимого. Полезен для измерения высоты, управления анимацией или установки фокуса.

Также принимает все атрибуты <div>.

CollapsibleTrigger

ПропТипПо умолчанию
asChildboolean—
Если true, рендерит триггер как дочерний компонент через Slot (например, <a> или <div>). Это позволяет задать собственную семантику или стили, сохранив поведение сворачивания.
refRef<HTMLButtonElement>—
Ref, передаваемый на нативный элемент триггера (обычно кнопку).

Также принимает все HTML-атрибуты.

Типы

  • CollapsibleProps
  • CollapsibleTriggerProps
  • CollapsibleContentProps

Модель состояния

  • Collapsible может быть неконтролируемым через defaultOpen или контролируемым через open и onChangeOpen.
  • onChangeHidden отслеживает, действительно ли содержимое скрыто; это может отставать от open, потому что сначала проходит переход высоты содержимого.
  • useCollapsibleContext доступен для продвинутых обёрток и пользовательских композиций.