Accordion

手风琴:支持单项 / 多项展开,标题可带图标,受控 / 非受控双支持,grid 高度动画,符合 WAI-ARIA 手风琴模式。

属性

属性类型默认值说明
type'single' | 'multiple''single'展开模式:single(每次只展开一项)/ multiple(可同时展开多项)
valuestring | string[]—受控展开值;multiple 下为 string[]
defaultValuestring | string[]—非受控初始值;multiple 下为 string[]
onValueChange(value: string | string[]) => void—展开值变化回调,签名随 type 变化(string / string[])
collapsiblebooleanfalse允许再次点击已展开项将其收起(multiple 天然可收起)
variant'lined' | 'separated''lined'外观样式:lined(分隔线堆叠)/ separated(独立卡片)
Accordion.Item{ value: string; disabled?: boolean } & HTMLAttributes—单个条目,value 关联标题与面板,可禁用
Accordion.Trigger{ icon?: ReactNode } & ButtonHTMLAttributes—标题按钮,外层自动包裹 h3;icon 为前置图标
Accordion.ContentHTMLAttributes—面板,始终留在 DOM 中,收起时仅隐藏
...restHTMLAttributes—其余属性透传给原生 div