更新记录

1.0.0(2026-04-30) 下载此版本

  • 支持 uni-collapse 组件

1.4.8(2025-09-16) 下载此版本

  • 修复 modelValue 修改会两次触发 change 事件的 Bug

1.4.7(2025-09-11) 下载此版本

  • 修复 modelValue 修改不会触发更新的 Bug
查看更多

平台兼容性

uni-app x(5.0)

Chrome Safari Android iOS 鸿蒙 微信小程序

折叠面板组件,包含:

  • uni-collapse:父容器
  • uni-collapse-item:子面板

一个折叠面板组件可以包含若干uni-collapse-item。每个uni-collapse-item包括顶部标题栏和通过slot传入的内容区。

基本用法

<uni-collapse :accordion="true">
  <uni-collapse-item title="标题 1" :open="true">
    <view><text>内容 1</text></view>
  </uni-collapse-item>
  <uni-collapse-item title="标题 2">
    <view><text>内容 2</text></view>
  </uni-collapse-item>
</uni-collapse>

uni-collapse-item的标题栏的自定义:

  • 标题栏容器可通过 title-wrap-class 自定义背景等容器样式。
  • 标题栏支持title属性,可通过title-class自定义文字样式。
  • 标题展开态可通过 title-open-class 自定义激活文字样式。组件默认使用透明度区分状态,便于外部继续覆盖文字颜色。
  • 标题禁用态可通过 title-disabled-class 自定义禁用文字样式。若同时存在展开态和禁用态,以禁用态为最终状态。
  • 标题栏右边默认带有箭头,可通过arrow-class自定义箭头样式。该箭头为一个view包括2个直角边的边框,然后旋转而成。
  • 箭头展开态和禁用态可分别通过 arrow-open-classarrow-disabled-class 覆盖。组件默认也使用透明度区分状态,便于外部继续覆盖箭头颜色。
  • 如果完全不想要默认包含的title和arrow,也可以传入一个名为title的具名插槽来替换。

具名插槽标题

<uni-collapse-item>
  <template #title="{ open, disabled }">
    <view class="custom-title">
      <view class="custom-title-icon"></view>
      <text class="custom-title-text">{{ open ? '已展开' : '未展开' }}</text>
    </view>
  </template>
  <view><text>自定义标题内容</text></view>
</uni-collapse-item>

externalClass

<uni-collapse-item
  title="自定义样式"
  title-wrap-class="my-title-wrap-class"
  title-class="my-title-class"
  title-open-class="my-title-open-class"
  arrow-class="my-arrow-class"
  arrow-open-class="my-arrow-open-class"
>
  <view><text>内容区域</text></view>
</uni-collapse-item>

Slots

uni-collapse-item

插槽名 说明 插槽参数
default 面板内容 -
title 自定义标题区域 open: booleandisabled: boolean

Events

uni-collapse-item

事件名 说明 回调参数
change 面板展开状态变化时触发 open: boolean

Expose

uni-collapse-item

方法名 说明
openCollapse(open: boolean) 执行展开/收起,会遵循 disabled 和手风琴逻辑
openOrClose(open: boolean) 直接切换内容显示状态

暗黑模式适配

建议通过组件 class 和 externalClass 组合传入暗色样式:

  • 用组件 class 统一控制根节点和内容区等外层视觉。
  • title-wrap-classtitle-classtitle-open-classarrow-classarrow-open-class 等 externalClass 覆盖标题区和箭头样式。
  • 默认展开态和禁用态主要通过透明度表达,减少颜色覆盖时的交叉冲突。

注意

  • 本组件在Android上需HBuilderX 5.09+。在低版本上箭头变颜色+旋转时,在Android上会消失

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

uni-collapse 折叠面板(以下简称软件)源码使用许可协议

2022年10月

本许可协议,是数字天堂(北京)网络技术有限公司(以下简称DCloud)对其所拥有著作权的“软件”,提供的使用许可协议。

您对“软件”的复制、使用、修改及分发受本许可协议的条款的约束,如您不接受本协议,则不能使用、复制、修改本软件。

授权许可范围

a) 授予您永久性的、全球性的、免费的、非独占的、不可撤销的本软件的源码使用许可,您可以使用这些源码制作自己的应用。

b) 您只能在DCloud产品体系内使用本软件及其源码。您不能将源码修改后运行在DCloud产品体系之外的环境,比如客户端脱离uni-app,或服务端脱离uniCloud(如涉及uniCloud)。

c) DCloud未向您授权商标使用许可。您在根据本软件源码制作自己的应用时,需以自己的名义发布软件,而不是以DCloud名义发布。

d) 本协议不构成代理关系。

DCloud的责任限制 “软件”在提供时不带任何明示或默示的担保。在任何情况下,DCloud不对任何人因使用“软件”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。

您的责任限制

a) 您需要在授权许可范围内使用软件。

b) 您在分发自己的应用时,不得侵犯DCloud商标和名誉权利。

c) 您不得进行破解、反编译、套壳等侵害DCloud知识产权的行为。您不得利用DCloud系统漏洞谋利或侵害DCloud利益,如您发现DCloud系统漏洞应第一时间通知DCloud。您不得进行攻击DCloud的服务器、网络等妨碍DCloud运营的行为。未经书面许可,您不得利用DCloud的产品进行与DCloud争夺开发者的行为。

d) 如您违反本许可协议,需承担因此给DCloud造成的损失。

本协议签订地点为中华人民共和国北京市海淀区。

根据发展,DCloud可能会对本协议进行修改。修改时,DCloud会在产品或者网页中显著的位置发布相关信息以便及时通知到用户。如果您选择继续使用本框架,即表示您同意接受这些修改。

条款结束