 YbCollapse 折叠面板
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
