Skip to content

FxCollapse 折叠面板

通过折叠面板收纳内容区域。自实现、不依赖任何 UI 框架

FxCollapse 属于 @fx/components(UI 框架无关的通用组件),配合 FxCollapseItem 使用。

基础用法

可同时展开多个面板,面板之间互不影响。

手风琴模式

通过 accordion 属性启用手风琴模式,同时只能展开一个面板。

自定义标题

通过 title 插槽自定义面板标题,插槽提供 isActive 表示当前展开状态。

自定义图标

通过 icon prop 或 icon 插槽自定义展开/收起图标。

图标位置

通过 expand-icon-position 属性设置展开图标位置。

阻止折叠

通过 before-collapse 属性在折叠前进行拦截。返回 false 或 rejected Promise 会阻止折叠。

Collapse API

Collapse Attributes

属性说明类型默认值
model-value / v-model当前展开面板,accordion 模式下为 string / number,否则为 arraystring | number | (string | number)[][]
accordion是否启用手风琴模式booleanfalse
expand-icon-position展开图标位置'left' | 'right''right'
before-collapse折叠前回调。返回 false 或 rejected Promise 会阻止折叠(name: string | number) => boolean | Promise<boolean>

Collapse Events

名称说明类型
change展开面板变化时触发,accordion 模式下参数为 string / number,否则为 array(activeNames: array | string) => void

Collapse Slots

名称说明子标签
default折叠面板内容Collapse Item

Collapse Exposes

名称说明类型
activeNames当前展开面板名称ComputedRef<(string | number)[]>
setActiveNames设置展开面板(activeNames: (string | number)[]) => void

Collapse Item API

Collapse Item Attributes

属性说明类型默认值
name面板唯一标识string | number
title面板标题string''
icon展开图标。字符串为 IconString 类型(即 FxIcon 图标名,如 ep:editant-design:homesvg:xxx),亦可传组件string / Component'ep:arrow-right'
disabled禁用面板booleanfalse

Collapse Item Slots

名称说明类型
default面板内容
title面板标题内容{ isActive: boolean }
icon展开图标内容{ isActive: boolean }

Collapse Item Exposes

名称说明类型
isActive当前面板是否展开ComputedRef<boolean | undefined>

局部引入

ts
import { FxCollapse, FxCollapseItem } from "@fx/components"