# Collapse 折叠面板
# 介绍
创建一个连续可收缩区域,降多组内容放在其中。
# 使用指南
# 一般用法
values为展开状态的tms-collapse-item的value数组集合
<demo-block title="常规模式" no-background>
<tms-collapse values="{{values}}" bind:onChange="onChange">
<tms-collapse-item value="数据一" title="标题1">
<view>content1</view>
</tms-collapse-item>
<tms-collapse-item value="数据二" title="标题2">
<view>content2</view>
</tms-collapse-item>
<tms-collapse-item value="数据三" title="标题3">
<view>content3</view>
</tms-collapse-item>
</tms-collapse>
:::
Component({
data: {
values: ['数据一'],
},
methods:{
onChange(event) {
this.setData({
values: event.detail,
});
},
}
})
# 手风琴模式
在手风琴模式下,values只有数组第一个元素生效。
<demo-block title="手风琴效果" no-background>
<tms-collapse values="{{valuesAccordion}}" bind:onChange="onChangeAccordion" accordion>
<tms-collapse-item useSlotTitle value="数据一" title="标题1">
<view slot="title" class="custom-title">
slotTitle
</view>
<view>content1</view>
</tms-collapse-item>
<tms-collapse-item value="数据二" title="标题2">
<view>content2</view>
</tms-collapse-item>
<tms-collapse-item value="数据三" title="标题3">
<view>content3</view>
</tms-collapse-item>
</tms-collapse>
:::
Component({
data: {
valuesAccordion: ['数据三'],
},
methods:{
onChange(event) {
this.setData({
values: event.detail,
});
},
}
})
# API
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| values | 展开面板对应的value集合 | array | [] | |
| accordion | 是否手风琴模式,同时只有一个展开面板 | boolean | false |
# EVENTS
| 属性 | 说明 | 类型 |
|---|---|---|
| bind:change | 点击面板标题时触发 | (event) => {} |
change事件event.detail为新的面板状态,如果不更新values,面板状态不会变化。
# css变量
// 面板背景色
--collapse-background: #fff;
// 面板根容器padding
--collapse-root-padding: 32rpx;
// 面板标签背景色
--collapse-title-background: rgba(245, 246, 246, .5);
// 面板内容容器padding
--collapse-content-padding: 0 32rpx;
