Collapse 折叠面板
将复杂的内容折叠收起,按需展开。常用于"分组配置"、"问答列表"、"层级日志"。
基本使用
v-model 绑定数组,元素是当前展开的 name。
手风琴模式
accordion 让任意时刻最多只展开一项;此时 v-model 是单值。
无边框 / 幽灵风格
bordered={false} 去掉外圈描边;ghost 进一步去掉背景色,与页面融为一体。
展开图标位置
expand-icon-position 把箭头放在 start(默认)或 end(标题右端)。
自定义标题
每个 item 都可用 #title slot 自定义标题,放图标 / 标签 / 副文案都可以。
监听变化
change 事件在展开 / 收起时触发,参数是当前激活的 name 数组(accordion 模式下是单值)。
单项 disabled 与隐藏箭头
可以对单个 item 设置 disabled(禁止展开 / 收起)或 :show-arrow="false"(隐藏箭头但仍可点击)。
嵌套面板
Collapse 支持嵌套;外层 ghost / 内层带边框是常见组合,强调层级关系。
FAQ 常见问答
最典型的业务场景:accordion 模式 + 自定义标题(带角标 / 副标题)+ 长描述。
外部按钮全展全收
v-model 受控时,外部按钮可以直接修改激活 name 列表,实现「全部展开 / 全部收起」操作。
表单分组
后台「字段太多怕一屏放不下」时常把表单按段落折叠:基础信息默认展开 + 进阶配置默认收起。
API
Collapse Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| modelValue | string | number | (string|number)[] | [] | 展开的 name;accordion 模式下是单值 |
| accordion | boolean | false | 手风琴模式(同时只展开一项) |
| bordered | boolean | true | 是否带外框 |
| ghost | boolean | false | 透明背景(无填充) |
| expandIconPosition | 'start' | 'end' | 'start' | 展开图标位置 |
Collapse Events
| 事件名 | 回调签名 | 触发时机 |
|---|---|---|
| update:modelValue | (names: string | number | (...)[]) | 激活项变化 |
| change | 同上 | 同上(语义化别名) |
CollapseItem Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| name | string | number | — | 必填,唯一标识 |
| title | string | '' | 标题(也可用 #title slot) |
| disabled | boolean | false | 禁用展开 |
| showArrow | boolean | true | 是否显示展开箭头 |
CollapseItem Slots
| 名称 | 说明 |
|---|---|
| default | 面板内容 |
| title | 自定义标题 |