YbCollapse 折叠面板
el-collapse 的扩展性不太好,所以设计了 yb-collapse
# 基本使用
- value 属性不设置时,并且非手风琴模式时,默认全部展开
一致性
与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。
反馈
控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。
效率
复制
# 手风琴
一致性
反馈
控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。
效率
复制
# 控制面板显示/隐藏
- renderedPanelController:根据面板 name 设置是否渲染,默认渲染
面板设置为 false:相当于渲染面板节点时 return null
- showedPanelController: 根据面板 name 设置是否显示,默认显示
面板设置为 false:相当于面板节点添加样式 display: none
一致性
与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。
反馈
控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。
效率
简化流程:设计简洁直观的操作流程;
清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;
帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。
复制
# 插槽使用
- 所有 collapseItems 共用的插槽名称是: "title"、'icon'、"extra"、"default"
- 单独某个 collapseItem 的 title 插槽名称是: collapseItem[].name+"-title"
- 单独某个 collapseItem 的 icon 插槽名称是: collapseItem[].name+"-icon"
- 单独某个 collapseItem 的 extra 插槽名称是: collapseItem[].name+"-extra"
- 单独某个 collapseItem 的 default 插槽名称是: collapseItem[].name
自定义标题
公共extra
一致性 自定义内容
自定义标题
公共extra
反馈 UE/UX
自定义内容,这个自定义内容方式优先级没有指定字段的高
自定义内容,这个自定义内容方式优先级没有指定字段的高
效率标题
公共extra
复制
# 单个面板可使用 YbCollapseItem
标题
内容
收起-按钮阻止冒泡
自定义折叠展开事件
复制
# YbCollapse Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
value/v-model | 当前激活的面板 (如果是手风琴模式,绑定值类型需要为 string,否则为 array) | string | array | -- | -- |
collapseItems | 面板配置,详见YbCollapseItem Attributes | array | -- | [] |
accordion | 是否手风琴模式 | boolean | -- | -- |
gutter | 面板间隔 | number | -- | 0 |
- | 控制所有 collapseItem 的共同属性,同YbCollapseItem Attributes,优先级小于 collapseItem 的配置 | -- | -- | -- |
# YbCollapseItem Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
data | 原始数据配置 | object | -- | -- |
name | 唯一标志符 | string | number | -- | -- |
border | 是否有边框 | boolean | -- | -- |
renderExtra | 右上角操作区域渲染使用的 function | function(h, YbCollapseItem 的 Vue 实例,data 原始配置数据) | -- | -- |
content | 显示内容 | string | function(h, YbCollapseItem 的 Vue 实例, data 原始配置数据) | -- | -- |
title | 标题 | string | function(h, YbCollapseItem 的 Vue 实例, data 原始配置数据) | -- | -- |
titleStyle | 标题样式 | object | -- | -- |
titleClassName | 标题 className | string | -- | -- |
defaultActive | 是否默认展开 | boolean | -- | -- |
collapsible | 是否可折叠 | boolean | -- | true |
renderIcon | 折叠 icon 渲染使用的 function | function(h, YbCollapseItem 的 Vue 实例, data 原始配置数据) | -- | -- |
iconAlign | 折叠 icon 位置 | string | 'left'|'right' | 'right' |
iconStyle | 折叠 icon 样式 | object | -- | -- |
iconClassName | 折叠 icon className | string | -- | -- |
headerStyle | 头部样式 | object | -- | -- |
headerClassName | 头部 className | string | -- | -- |
bodyStyle | body 样式 | object | -- | -- |
bodyClassName | body className | string | -- | -- |
size | 面板尺寸 | string | medium | small | mini | -- |
lazy | 是否延迟渲染 | boolean | -- | -- |
tooltip | 提示内容,在 title 后显示一个小图标,hover 后显示内容 | string | -- | -- |
expandOnClickHeader | 是否在点击头部的时候展开或者收缩,默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩 | boolean | -- | true |
# YbCollapseItem Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 当面板状态发生改变时触发 | { name, isActive, data } |
click | 当面板被点击时触发 | { name, isActive, data } |
# YbCollapseItem Methods
方法名 | 说明 | 回调参数 |
---|---|---|
toggle | 切换面板状态 | -- |
open | 展开面板 | -- |
close | 关闭面板 | -- |
# YbCollapseItem Scoped Slot
name | 说明 |
---|---|
title | 标题插槽,两个参数分别为 YbCollapseItem 的 Vue 实例、data 原始配置数据 |
icon | 折叠 icon 插槽,两个参数分别为 YbCollapseItem 的 Vue 实例、data 原始配置数据 |
extra | 右上角操作区域插槽,两个参数分别为 YbCollapseItem 的 Vue 实例、data 原始配置数据 |
default | 显示内容 content 插槽,两个参数分别为 YbCollapseItem 的 Vue 实例、data 原始配置数据 |
上次更新: 2024/11/21, 15:09:56