Right now there is no stable version available for this library. We're just working on it. 🚀

Accordion

Accordion 能够在页面上展开和折叠相关的内容部分。

StorybookWAI-ARIASourceRecipe Source

Usage

Disabled

Expand Multiple Items

multiple 属性设置为 true,Accordion 允许同时展开多个 items。

Default Expanded Keys

通过 defaultExpandedKeys 属性,您可以设置默认展开的 items。

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.

Variants

Accordion 组件提供了多种变体,您可以通过 variant 属性来设置。

Outlined

Underlined

Disabled Keys

通过 disabledKeys 属性,您可以设置禁用的 items。

Custom Indicator

通过 indicator 属性,您可以设置自定义的指示器。也可以通过 hideIndicator 属性来隐藏指示器。

Controlled

Accordion 组件支持受控模式,您可以通过 expandedKeysonExpandedKeysChange 属性来控制展开的 items。

API

Accordion Props

Accordion 继承 as (默认为 'div') 的 Props。

PropTypeDefaultDescription
childrenReactNode-通常是 AccordionItem 的集合。
classNameClassValue-用于根元素的 className。
refRef-用于转发根元素。
multiplebooleanfalse是否允许同时展开多个 items。
defaultExpandedKeysKey[]-默认展开的 items 的 keys。(非受控)
expandedKeysKey[]-展开的 items 的 keys。(受控)
onExpandedKeysChange(keys: Key[]) => void-当展开的 items 发生变化时调用的回调函数。
disabledKeysKey[]-禁用的 items 的 keys。
motionPropsHTMLMotionProps-Accordion 的动画属性。
indicatorReactNode-自定义指示器。
hideIndicatorboolean-是否隐藏指示器。
indicatorMotionPropsHTMLMotionProps-指示器的动画属性。
variant'outlined'|'underlined''underlined'Accordion 的外观样式。
disabledbooleanfalse是否禁用 Accordion。
keepMountedbooleanfalse是否在折叠时保留子元素的挂载状态。
asElementType'div'用于根元素的组件。可以是表示 HTML 元素的字符串,也可以是一个组件。
sxInterpolation-用于根元素的 sx 属性。

AccordionItem Props

AccordionItem 继承 as (默认为 'div') 的 Props。

PropTypeDefaultDescription
childrenReactNode-AccordionItem 的内容。
classNameClassValue-用于根元素的 className。
refRef-用于转发根元素。
indicatorReactNode-自定义指示器。
hideIndicatorboolean-是否隐藏指示器。
indicatorMotionPropsHTMLMotionProps-指示器的动画属性。
disabledbooleanfalse是否禁用 AccordionItem。
keepMountedbooleanfalse是否在折叠时保留子元素的挂载状态。
motionPropsHTMLMotionProps-AccordionItem 的动画属性。
itemKeyKey-AccordionItem 的唯一标识符。
titleReactNode-AccordionItem 的标题。
asElementType'div'用于根元素的组件。可以是表示 HTML 元素的字符串,也可以是一个组件。
sxInterpolation-用于根元素的 sx 属性。
classesPartial<Record<Slots, ClassValue>>-AccordionItem Slots 的 className。
slotPropsPartial<Record<Slots, ComponentProps>>-AccordionItem Slots 的 props。

AccordionItem Slots

Slot NameClass NameDefault ComponentDescription
heading.nui-accordion-item-heading'h3'accordion item 的标题。
content.nui-accordion-item-content'div'accordion item 的内容。
indicator.nui-accordion-item-indicatorm.spanindicator 的容器。
trigger.nui-accordion-item-trigger'button'控制 accordion item 折叠的按钮。
最后更新时间