Back to Ant Design

Collapse

components/collapse/index.zh-CN.md

6.3.74.4 KB
Original Source

何时使用 {#when-to-use}

  • 对复杂区域进行分组和隐藏,保持页面的整洁。
  • 手风琴 是一种特殊的折叠面板,只允许单个内容区域展开。

代码演示 {#examples}

<!-- prettier-ignore -->

<code src="./demo/basic.tsx">折叠面板</code> <code src="./demo/size.tsx">面板尺寸</code> <code src="./demo/accordion.tsx">手风琴</code> <code src="./demo/mix.tsx">面板嵌套</code> <code src="./demo/borderless.tsx">简洁风格</code> <code src="./demo/custom.tsx">自定义面板</code> <code src="./demo/noarrow.tsx">隐藏箭头</code> <code src="./demo/extra.tsx">额外节点</code> <code src="./demo/ghost.tsx">幽灵折叠面板</code> <code src="./demo/collapsible.tsx">可折叠触发区域</code> <code src="./demo/style-class.tsx" version="6.0.0">自定义语义结构的样式和类</code> <code src="./demo/component-token.tsx" debug>组件 Token</code>

API

通用属性参考:通用属性

Collapse

参数说明类型默认值版本
accordion手风琴模式booleanfalse
activeKey当前激活 tab 面板的 keystring[] | string
number[] | number手风琴模式下默认第一个元素
bordered带边框风格的折叠面板booleantrue
classNames用于自定义组件内部各语义化结构的 class,支持对象或函数Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-
collapsible所有子面板是否可折叠或指定可折叠触发区域header | icon | disabled-4.9.0
defaultActiveKey初始化选中面板的 keystring[] | string
number[] | number-
destroyInactivePanel销毁折叠隐藏的面板booleanfalse
destroyOnHidden销毁折叠隐藏的面板booleanfalse5.25.0
expandIcon自定义切换图标(panelProps) => ReactNode-
expandIconPlacement设置图标位置start | endstart-
expandIconPosition设置图标位置,请使用 expandIconPlacement 替换start | end-4.21.0
ghost使折叠面板透明且无边框booleanfalse4.4.0
size设置折叠面板大小large | medium | smallmedium5.2.0
styles用于自定义组件内部各语义化结构的行内 style,支持对象或函数Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-
onChange切换面板的回调function-
items折叠项目内容ItemType-5.6.0

ItemType

参数说明类型默认值版本
classNames语义化结构 classNameRecord<header | body, string>-5.21.0
collapsible是否可折叠或指定可折叠触发区域header | icon | disabled-
childrenbody 区域内容ReactNode-
extra自定义渲染每个面板右上角的内容ReactNode-
forceRender被隐藏时是否渲染 body 区域 DOM 结构booleanfalse
key对应 activeKeystring | number-
label面板标题ReactNode--
showArrow是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon)booleantrue
styles语义化结构 styleRecord<header | body, CSSProperties>-5.21.0

Collapse.Panel

<!-- prettier-ignore -->

:::warning{title=已废弃} 版本 >= 5.6.0 时请使用 items 方式配置面板。 :::

参数说明类型默认值版本
collapsible是否可折叠或指定可折叠触发区域header | icon | disabled-4.9.0 (icon: 4.24.0)
extra自定义渲染每个面板右上角的内容ReactNode-
forceRender被隐藏时是否渲染 body 区域 DOM 结构booleanfalse
header面板标题ReactNode-
key对应 activeKeystring | number-
showArrow是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon)booleantrue

Semantic DOM

<code src="./demo/_semantic.tsx" simplify="true"></code>

主题变量(Design Token){#design-token}

<ComponentTokenTable component="Collapse"></ComponentTokenTable>