Collapse 折叠面板
将内容区域折叠/展开的组件,常用于分组显示大量内容。
代码示例
<template>
<zk-theme type="page" :padding="30" showBack navbarTitle="Collapse折叠面板">
<!-- 基础用法 -->
<zk-theme type="card" :padding="30" :radius="16" margin="0 0 30rpx 0">
<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="基础用法" align="center" />
<zk-collapse v-model="value1">
<zk-collapse-item title="标题1" name="1">
<view class="content">
<zk-text type="primary" :size="28" text="这是一段内容这是一段内容这是一段内容这是一段内容。" />
</view>
</zk-collapse-item>
<zk-collapse-item title="标题2" name="2">
<view class="content">
<zk-text type="primary" :size="28" text="这是一段内容这是一段内容这是一段内容这是一段内容。" />
</view>
</zk-collapse-item>
<zk-collapse-item title="标题3" name="3">
<view class="content">
<zk-text type="primary" :size="28" text="这是一段内容这是一段内容这是一段内容这是一段内容。" />
</view>
</zk-collapse-item>
</zk-collapse>
</zk-theme>
<!-- 手风琴模式 -->
<zk-theme type="card" :padding="30" :radius="16" margin="0 0 30rpx 0">
<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="手风琴模式" align="center" />
<zk-collapse v-model="value2" accordion>
<zk-collapse-item title="标题1" name="1">
<view class="content">
<zk-text type="primary" :size="28" text="手风琴模式,每次只能展开一个面板。" />
</view>
</zk-collapse-item>
<zk-collapse-item title="标题2" name="2">
<view class="content">
<zk-text type="primary" :size="28" text="手风琴模式,每次只能展开一个面板。" />
</view>
</zk-collapse-item>
<zk-collapse-item title="标题3" name="3">
<view class="content">
<zk-text type="primary" :size="28" text="手风琴模式,每次只能展开一个面板。" />
</view>
</zk-collapse-item>
</zk-collapse>
</zk-theme>
<!-- 禁用状态 -->
<zk-theme type="card" :padding="30" :radius="16" margin="0 0 30rpx 0">
<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="禁用状态" align="center" />
<zk-collapse v-model="value3">
<zk-collapse-item title="正常面板" name="1">
<view class="content">
<zk-text type="primary" :size="28" text="这是一段正常面板的内容。" />
</view>
</zk-collapse-item>
<zk-collapse-item title="禁用面板" name="2" disabled>
<view class="content">
<zk-text type="primary" :size="28" text="这是一段禁用面板的内容。" />
</view>
</zk-collapse-item>
</zk-collapse>
</zk-theme>
<!-- 自定义标题内容 -->
<zk-theme type="card" :padding="30" :radius="16" margin="0 0 30rpx 0">
<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="自定义标题内容" align="center" />
<zk-collapse v-model="value4">
<zk-collapse-item name="1">
<template #title>
<view class="custom-title">
<zk-icon name="home" size="32" color="#2979ff" />
<zk-text type="primary" :size="28" text="自定义标题" color="#2979ff" margin="0 0 0 10rpx" />
</view>
</template>
<view class="content">
<zk-text type="primary" :size="28" text="这是一段自定义标题的内容。" />
</view>
</zk-collapse-item>
</zk-collapse>
</zk-theme>
</zk-theme>
</template>
<script>
export default {
data() {
return {
value1: ['1'],
value2: '',
value3: [],
value4: []
}
}
}
</script>
<style lang="scss">
</style>
API
Collapse Props
参数 |
说明 |
类型 |
默认值 |
可选值 |
v-model/value |
当前展开面板的 name 值,可以是单个值或数组 |
string / number / array |
- |
- |
accordion |
是否开启手风琴模式(同时只能展开一个面板) |
boolean |
false |
true / false |
border |
是否显示外边框 |
boolean |
true |
true / false |
Events
事件名 |
说明 |
回调参数 |
change |
切换面板时触发 |
当前展开面板的 name 值,手风琴模式下为单个值,否则为数组 |
input |
切换面板时触发(用于v-model) |
当前展开面板的 name 值 |
Collapse Item Props
参数 |
说明 |
类型 |
默认值 |
可选值 |
name |
唯一标识符,必填项 |
string / number |
- |
- |
title |
面板标题 |
string |
- |
- |
disabled |
是否禁用面板 |
boolean |
false |
true / false |
Slots
名称 |
说明 |
作用域参数 |
title |
自定义标题内容 |
- |
icon |
自定义右侧展开图标 |
- |
default |
面板内容 |
- |