Accordion API
Эта страница предоставляет обзор API компонента Accordion, детализируя его props, emits, слоты и экспонируемые методы/состояния.
Props
Компонент Accordion принимает следующие props:
| Prop | Default | Type | Description |
|---|---|---|---|
dataSource | [] | Array<AccordionItem> или undefined | Список секций для отображения в аккордеоне. Каждый элемент должен быть Array<AccordionItem>. |
multiple | false | boolean или undefined | Позволяет одновременно открывать несколько секций. |
animationDuration | 300 | number или undefined | Длительность анимации открытия/закрытия в миллисекундах. |
icon | "Plus" | "ChevronDown" или "ArrowDownCircle" или "Plus" илиundefined | Тип иконки, отображаемой для указания состояния переключения аккордеона. |
class | "" | StyleClass или undefined | Пользовательский CSS класс для корневого контейнера аккордеона. |
classItem | "" | StyleClass или undefined | Пользовательский CSS класс для отдельных элементов аккордеона. |
classTitle | "" | StyleClass или undefined | Пользовательский CSS класс для заголовка каждого элемента аккордеона. |
classSubtitle | "" | StyleClass или undefined | Пользовательский CSS класс для подзаголовка каждого элемента аккордеона. |
AccordionItem
Каждый элемент в массиве dataSource должен соответствовать структуре AccordionItem:
| Field | Type | Description |
|---|---|---|
title | string | Основной заголовок секции аккордеона. |
subtitle | string или undefined | Необязательный подзаголовок или контент для секции. |
open | boolean или undefined | Указывает, открыта ли секция изначально. |
template | string или undefined | Необязательное имя слота для пользовательского контента внутри секции. |
[key: string] | any | Любые дополнительные свойства для включения в элемент. |
Слоты
Компонент Accordion предоставляет следующие слоты:
| Slot | Payload | Description |
|---|---|---|
title | { title: string } | Слот для настройки заголовка каждого элемента аккордеона. |
| Dynamic Slots | { ...AccordionItem } | Динамический слот на основе поля template в Array<AccordionItem>. Позволяет пользовательский контент для конкретных секций. |
Emits
Компонент Accordion испускает следующие события:
| Event | Payload | Description |
|---|---|---|
toggle | Array<AccordionItem> | Испускается всякий раз, когда секция открывается или закрывается. Полезная нагрузка содержит обновленные данные аккордеона. |
Expose
Компонент Accordion экспонирует следующие методы и состояния через ref:
| Expose | Value | Description |
|---|---|---|
dataItems | Array<AccordionItem> | Текущее состояние элементов аккордеона. |
multiple | boolean | Указывает, могут ли быть одновременно открыты несколько секций. |
animationDuration | number | Длительность анимации открытия/закрытия в миллисекундах. |
icon | string | Текущий тип иконки, используемой для переключения аккордеона. |
classBody | string | CSS класс, применяемый к контейнеру аккордеона. |
classItem | string | CSS класс, применяемый к отдельным элементам аккордеона. |
classTitle | string | CSS класс, применяемый к заголовку каждого элемента аккордеона. |
classSubtitle | string | CSS класс, применяемый к подзаголовку каждого элемента аккордеона. |
toggle | (key: string | number) => void | Переключает состояние (открыть/закрыть) конкретной секции аккордеона по ключу. |