文档组件Accordion

Accordion

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

StorybookWAI-ARIASourceRecipe Source

使用

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

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

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

Disabled

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

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

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

Expand Multiple Items

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

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

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

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

Default Expanded Keys

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

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

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

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

Variants

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

Outlined

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

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

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

Underlined

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

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

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

Disabled Keys

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

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

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

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

Custom Indicator

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

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

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

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

Controlled

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

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

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

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

API

Accordion Props

Accordion Props 继承 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。
keepMountedbooleantrue是否在折叠时保留子元素的挂载状态。
asElementType'div'用于根元素的组件。可以是表示 HTML 元素的字符串,也可以是一个组件。
sxSxProps<AccordionOwnerState>-用于根元素的 sx 属性。

AccordionItem Props

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

AccordionItem Slots

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

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