UNPKG

cloud-ui.vusion

Version:
236 lines (179 loc) 6.54 kB
<!-- 该 README.md 根据 api.yaml 和 docs/*.md 自动生成,为了方便在 GitHub 和 NPM 上查阅。如需修改,请查看源文件 --> # UCollapse 折叠面板 - [示例](#示例) - [基本用法](#基本用法) - [手风琴模式](#手风琴模式) - [面板嵌套](#面板嵌套) - [使用插槽](#使用插槽) - [填充模式](#填充模式) - [简洁模式](#简洁模式) - [触发方式](#触发方式) - [设置尺寸](#设置尺寸) - [UCollapse API](#ucollapse-api) - [Props/Attrs](#propsattrs) - [Slots](#slots) - [Events](#events) - [UCollapseItem API](#ucollapseitem-api) - [Props/Attrs](#propsattrs-2) - [Slots](#slots-2) - [Events](#events-2) **Container** 可以折叠/展开的内容区域。 ## 示例 ### 基本用法 ``` html <u-collapse> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2" expanded>Content2</u-collapse-item> <u-collapse-item title="面板3" disabled>Content3</u-collapse-item> </u-collapse> ``` ### 手风琴模式 ``` html <u-collapse accordion> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2" expanded>Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ``` ### 面板嵌套 折叠面板可以进行嵌套。 ``` html <u-collapse> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2" expanded> <u-collapse> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2" expanded>Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> </u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ``` ### 使用插槽 ``` html <u-collapse> <u-collapse-item title="面板1"> <u-link slot="extra">设置</u-link> Content1 </u-collapse-item> <u-collapse-item title="面板2" expanded> <u-collapse> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2" expanded>Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> </u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ``` ### 填充模式 内容填充 ``` html <u-collapse fill="content"> <u-collapse-item title="面板1" expanded>Content1</u-collapse-item> <u-collapse-item title="面板2">Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ``` 无填充 ``` html <u-collapse fill="none"> <u-collapse-item title="面板1" expanded>Content1</u-collapse-item> <u-collapse-item title="面板2">Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ``` ### 简洁模式 ``` html <u-collapse appear="simple"> <u-collapse-item title="面板1"> <u-link slot="extra">设置</u-link> Content1 </u-collapse-item> <u-collapse-item title="面板2" expanded> Content2 </u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ``` ### 触发方式 #### 整行点击均可触发(默认) <u-collapse expand-trigger="click"> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2">Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> #### 仅点击小箭头时触发 <u-collapse expand-trigger="click-expander"> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2">Content2</u-collapse-item> <u-collapse-item title="面板3">Content3</u-collapse-item> </u-collapse> ### 设置尺寸 ``` html <u-collapse size="small"> <u-collapse-item title="面板1">Content1</u-collapse-item> <u-collapse-item title="面板2" expanded>Content2</u-collapse-item> <u-collapse-item title="面板3" disabled>Content3</u-collapse-item> </u-collapse> ``` ## UCollapse API ### Props/Attrs | Prop/Attr | Type | Options | Default | Description | | --------- | ---- | ------- | ------- | ----------- | | appear | string | `[object Object]`<br/>`[object Object]` | `'default'` | | | fill | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'head'` | | | accordion | boolean | | `false` | 设置是否每次只展开一个 | | expand-trigger | string | `[object Object]`<br/>`[object Object]` | `'click'` | 展开/折叠操作的触发方式 | | disabled | boolean | | `false` | 置灰显示,且禁止展开/折叠操作 | ### Slots #### (default) 插入`<u-collapse-item>`子组件。 ### Events #### @expand 展开此面板时触发 | Param | Type | Description | | ----- | ---- | ----------- | | $event | object | 自定义事件对象 | | $event.itemVM | UCollapseItem | 面板组件 | | $event.preventDefault | Function | 阻止展开/折叠流程 | | senderVM | Vue | 发送事件实例 | #### @collapse 折叠某面板时触发 | Param | Type | Description | | ----- | ---- | ----------- | | $event | object | 自定义事件对象 | | $event.itemVM | UCollapseItem | 面板组件 | | senderVM | Vue | 发送事件实例 | ## UCollapseItem API ### Props/Attrs | Prop/Attr | Type | Options | Default | Description | | --------- | ---- | ------- | ------- | ----------- | | title | string | | | 显示的标题 | | expanded.sync | boolean | | `false` | 展开状态分为“True(展开)/False(折叠)”,默认为“展开” | | disabled | boolean | | `false` | 置灰显示,且禁止展开/折叠操作 | ### Slots #### (default) 插入文本或 HTML。 #### title 自定义标题文本。 #### extra 在右侧可以附加内容。 ### Events #### @expand 展开此面板时触发 | Param | Type | Description | | ----- | ---- | ----------- | | $event | object | 自定义事件对象 | | $event.itemVM | UCollapseItem | 面板组件 | | $event.preventDefault | Function | 阻止展开/折叠流程 | | senderVM | Vue | 发送事件实例 | #### @collapse 折叠某面板时触发 | Param | Type | Description | | ----- | ---- | ----------- | | $event | object | 自定义事件对象 | | $event.itemVM | UCollapseItem | 面板组件 | | senderVM | Vue | 发送事件实例 |