用途 该技能用于在页面中展示可折叠的内容分区,基于 SGDS 的 <sgds-accordion> 与 <sgds-accordion-item> 自定义元素。
主要能力 <sgds-accordion> 作为容器,包含一个或多个 <sgds-accordion-item>。子项可单独展开与收起;在父容器上设置 allowMultiple 可让多个子项同时保持展开。
父容器属性 allowMultiple(boolean,默认 false):允许多个子项同时展开。 variant(default | border,默认 default):手风琴的视觉样式。 density(default | compact,默认 default):子项间距密度。 注意:variant 与 density 设置在父容器 <sgds-accordion> 上,而非单个子项。
子项属性 open(boolean,默认 false):控制该子项是否展开。 disabled(boolean,默认 false):阻止该子项被切换。
插槽 header:可点击的标题区域。 content:展开时显示的主体内容。 caret:自定义替代默认箭头图标的插槽。
事件(在 <sgds-accordion-item> 上) sgds-show(可取消):子项开始展开时触发。 sgds-after-show(不可取消):子项完全展开(动画完成)后触发。 sgds-hide(可取消):子项开始收起时触发。 sgds-after-hide(不可取消):子项完全收起后触发。 如需阻止过渡,可在可取消事件中调用 event.preventDefault()。
公开方法(在 <sgds-accordion-item> 上) show():展开子项。 hide():收起子项。
使用方式 在父容器上按需添加 allowMultiple、variant="border"、density="compact";在子项上添加 open 使加载时默认展开,或添加 disabled 禁用切换。未设置 allowMultiple 时,打开一个子项会自动关闭其他子项。
适用场景 需要折叠展示分段内容的界面,如问答、设置分组或信息分区。
限制 该组件不暴露自定义属性与 CSS parts,因此不提供 CSS 样式修改能力。安装与框架集成(React 19+ 与 React ≤18、Vue、Angular)需参考 sgds-components-setup。父元素 <sgds-accordion> 本身没有事件或公开方法。