更新记录
1.0.0(2026-07-17)
下载此版本
- 初始版本
- 折叠面板组件,分为标题行与内容行
- 标题行左侧图标支持竖条(bar) / 圆形(circle) / 无(none)
- 支持自定义图标颜色、标题颜色、箭头颜色(即“牙呢”——颜色自定义)
- 标题行高度默认 33,可配置
- 新增
bgColor 属性,可自定义面板背景色(标题行 + 内容行),默认 #fff
- 新增
titleBorder 属性(原 border),控制是否显示标题行底线,默认显示
- 新增
borderColor 属性,可自定义底线颜色
- 新增
bodyBorder 属性,控制展开后内容区下边界线,默认显示
- 新增
arrowSize 属性,可自定义右侧箭头大小(单位 rpx),默认 13
- 新增
bodyHeight 属性,限制内容区高度(0 不限制;数值或带单位值超出则显示竖向滚动条)
- 右侧折叠/展开箭头图标,点击切换内容显示
- 兼容 Vue2 / Vue3,支持 H5 / 小程序 / App
平台兼容性
uni-app(5.14)
| Vue2 |
Vue3 |
Vue3插件版本 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
√ |
1.0.0 |
- |
- |
- |
- |
- |
- |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
jx-collapse 折叠面板
折叠面板组件,支持 Vue2 / Vue3,可运行于 H5 / 各类小程序 / App。
组件分为两行:
- 标题行:左侧可自定义图标(竖条
bar / 圆形 circle / 无 none),中间为标题内容,右侧为折叠/展开箭头图标,点击整行切换内容显示。
- 内容行:默认插槽,根据展开状态显示/隐藏。
平台兼容
| 平台 |
支持 |
| H5 |
✅ |
| 微信/支付宝/字节/百度等小程序 |
✅ |
| App(Vue/NVue/Android/iOS) |
✅ |
| Vue2 / Vue3 |
✅ |
属性(Props)
| 属性 |
类型 |
默认值 |
说明 |
title |
String |
'' |
标题文字(也可用 #title 插槽自定义) |
icon |
String |
'bar' |
左侧图标类型:bar(竖条) / circle(圆形) / none(无) |
iconColor |
String |
'#3c9cff' |
左侧图标颜色(即“牙呢”——颜色自定义) |
titleColor |
String |
'#333333' |
标题文字颜色 |
bgColor |
String |
'#fff' |
面板背景色(标题行 + 内容行) |
arrowColor |
String |
'#999999' |
右侧折叠箭头颜色 |
arrowSize |
Number |
13 |
右侧箭头大小(单位 rpx) |
bodyHeight |
Number / String |
0 |
内容区高度限制:0 不限制;数值(如 200)或带单位(如 200px)则超出显示竖向滚动条 |
titleBorder |
Boolean |
true |
是否显示标题行底线(标题与内容间的分隔线) |
borderColor |
String |
'#ebedf0' |
底线颜色 |
bodyBorder |
Boolean |
true |
展开后是否显示内容区下边界线 |
height |
Number / String |
33 |
标题行高度,默认 33(单位 px) |
open |
Boolean |
false |
是否展开,支持 :open.sync(Vue2)/ v-model:open(Vue3) |
事件(Events)
| 事件 |
参数 |
说明 |
update:open |
Boolean |
展开状态变化(用于双向绑定) |
change |
Boolean |
展开状态变化 |
插槽(Slots)
| 插槽 |
说明 |
| 默认插槽 |
内容行内容 |
#title |
自定义标题内容 |
使用示例
Vue3(v-model:open)
<template>
<jx-collapse
title="基本信息"
icon="bar"
icon-color="#ff5500"
bg-color="#e8f3ff"
:height="40"
v-model:open="show"
@change="onChange"
>
<view>这里是折叠的内容区域</view>
</jx-collapse>
</template>
<script setup>
import { ref } from 'vue';
const show = ref(false);
const onChange = (val) => console.log('展开状态:', val);
</script>
Vue2(:open.sync)
<template>
<jx-collapse
title="基本信息"
icon="circle"
icon-color="#09bb07"
bg-color="#e6f9e6"
:open.sync="show"
@change="onChange"
>
<view>这里是折叠的内容区域</view>
</jx-collapse>
</template>
<script>
export default {
data() {
return { show: false };
},
methods: {
onChange(val) {
console.log('展开状态:', val);
}
}
};
</script>
自定义标题内容(插槽)
<jx-collapse icon="circle">
<template #title>
<text style="color:#f00;">自定义标题</text>
</template>
<view>自定义内容</view>
</jx-collapse>