更新记录

0.0.3(2024-10-05) 下载此版本

  • chore: 更新兼容

0.0.2(2024-10-04) 下载此版本

  • chore: 兼容vue2

0.0.1(2024-10-04) 下载此版本

  • init
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.26 app-vue app-uvue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × ×

lime-collapse 折叠面板

  • 将一组内容放置在多个折叠面板中,点击面板的标题可以展开或收缩其内容

安装

插件市场导入即可,首次可能需要重新编译

代码演示

基础用法

<l-collapse>
    <l-collapse-panel title="折叠标题">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
</l-collapse>

受控

通过 v-model 控制展开的面板列表,values 为数组格式,value是唯一的值,如果不填则默认下标。

<l-collapse v-model="values">
    <l-collapse-panel title="折叠标题" value="2" :note="values.includes('2') ? '收起' : '展开'">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
</l-collapse>
const values = ref([])

手风琴

通过 accordion 可以设置为手风琴模式,最多展开一个面板。

<l-collapse v-model="values1" :accordion="true">
    <l-collapse-panel title="折叠标题" note="单元测试">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" note="单元测试">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" note="单元测试">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" note="单元测试">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
</l-collapse>

禁用状态

通过 disabled 属性来禁用单个面板。

<l-collapse>
    <l-collapse-panel title="折叠标题" note="单元测试">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" note="单元测试" :disabled="true">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
</l-collapse>

自定义内容

通过 title 插槽可以自定义标题栏的内容。插槽还有icon。通过设置 icon 属性在标题左侧展示图标,通过 image 属性在标题左侧展示图片。

<l-collapse>
    <l-collapse-panel>
        <template #title>
            <view style="flex-direction: row; align-items: center;">
                <text style="margin-right: 10rpx;">标题1</text> 
                <l-icon name="help-circle" size="32rpx" />
            </view>
        </template>
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" icon="map-aiming">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
</l-collapse>

全部展开与全部切换

通过 Collapse 实例上的 toggleAll 方法可以实现全部展开与全部切换

<l-collapse ref="collapseRef">
    <l-collapse-panel title="折叠标题">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题" :disabled="true">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
    <l-collapse-panel title="折叠标题">
        <text>1此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容此处可自定义内容可自定义内容</text>
    </l-collapse-panel>
</l-collapse>

<button @click="openAll">全部展开</button>
<button @click="toggleAll">全部切换</button>
// vue
const openAll = () => {
    this.$refs.collapseRef.toggleAll(true)
}
const toggleAll = () => {
    this.$refs.collapseRef.toggleAll(false)
}

// uvue
const openAll = () => {
    const collapseRef =  this.$refs['collapseRef'] as ComponentPublicInstance;
    collapseRef.$callMethod('toggleAll', true)
}
const toggleAll = () => {
    const collapseRef =  this.$refs['collapseRef'] as ComponentPublicInstance;
    collapseRef.$callMethod('toggleAll', false)
}

查看示例

  • 导入后直接使用这个标签查看演示效果
 // 代码位于 uni_modules/lime-collapse/compoents/lime-collapse 
<lime-collapse />

插件标签

  • 默认 l-collapse 为 component
  • 默认 l-collapse-panel 为 component
  • 默认 lime-collapse 为 demo

关于vue2的使用方式

  • 插件使用了composition-api, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置
  • 关键代码是: 在main.js中 在vue2部分加上这一段即可.
// vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

API

Collapse Props

参数 说明 类型 默认值
title 分组标题 string -
accordion 手风琴效果,每个面板互斥展开,每次只展开一个面板 boolean false
inset 是否展示为圆角卡片风格 boolean false
disabled 禁用 boolean false
v-modle 当前展开面板的 values string | number false

CollapsePanel Props

参数 说明 类型 默认值
value 前面板唯一标识,如果值为空则取当前面下标兜底作为唯一标识 string -
title 标题 string -
disabled 禁用 boolean false
note 右侧内容 string -
size 标题单元格大小,可选值为 small string -
icon 标题左侧图标名称,等同于 Icon 组件的 name 属性 string -
iconColor 标题左侧图标颜色 string -
iconSize 标题左侧图标尺寸 string -
rightIconColor 右侧图标颜色 string -
rightIconSize 右侧图标尺寸 string -
image 左侧图片链接 string -
imageWidth 图片宽度 string -
imageHeight 图片高度 string -
bgColor 背景色 string -

Collapse Events

事件名 说明 回调参数
change 点击时触发 _event: string number[]_

CollapsePanel Slots

名称 说明
title 自定义左侧标题
note 自定义右侧内容
description 自定义标题下方的描述信息
icon 自定义左侧图标
rightIcon 自定义右侧图标

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式)。uvue app无效。

名称 默认值 描述
--l-collapse-panel-bg-color: white -
--l-collapse-content-padding: 32rpx -
--l-collapse-content-line-height: 1.5 -
--l-collapse-content-font-size: 28rpx -
--l-collapse-content-text-color: $text-color-1 -
--l-collapse-transition-duration: 240ms -
--l-collapse-right-icon-color: $text-color-4 -
--l-collapse-right-icon-size: 44rpx -
--l-collapse-border-color: $border-color-2 -

打赏

如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问