Skip to content

Collapse 折叠面板

通过折叠面板收纳内容区域

平台差异说明

App(vue)App(nvue)H5微信小程序

基本使用

html
<template>
  <su-collapse @change="change" @close="close" @open="open">
    <su-collapse-item title="文档指南" name="Docs guide">
      <text class="u-collapse-content">涵盖uniapp各个方面,给开发者方向指导和设计理念,让您茅塞顿开,一马平川</text>
    </su-collapse-item>
    <su-collapse-item title="组件全面" name="Variety components">
      <text class="u-collapse-content">众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用</text>
    </su-collapse-item>
    <su-collapse-item title="众多利器" name="Numerous tools">
      <text class="u-collapse-content">众多的贴心小工具,是您开发过程中召之即来的利器,让您飞镖在手,百步穿杨</text>
    </su-collapse-item>
  </su-collapse>
</template>

<script setup>
  // 定义 open 方法
  const open = (e) => {
    // console.log('open', e)
  }

  // 定义 close 方法
  const close = (e) => {
    // console.log('close', e)
  }

  // 定义 change 方法
  const change = (e) => {
    // console.log('change', e)
  }
</script>

控制面板的初始状态,以及是否可以操作

  • 设置su-collapse-itemopen参数为true,可以让面板初始化时为打开状态
  • 如果设置su-collapse-itemdisabled参数为true,那么面板会保持初始状态,无法关闭或打开
html
<template>
  <su-collapse :value="['2']">
    <su-collapse-item title="文档指南">
      <text class="u-collapse-content">涵盖uniapp各个方面,给开发者方向指导和设计理念,让您茅塞顿开,一马平川</text>
    </su-collapse-item>
    <su-collapse-item disabled title="组件全面">
      <text class="u-collapse-content">众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用</text>
    </su-collapse-item>
    <su-collapse-item name="2" title="众多利器">
      <text class="u-collapse-content">众多的贴心小工具,是您开发过程中召之即来的利器,让您飞镖在手,百步穿杨</text>
    </su-collapse-item>
  </su-collapse>
</template>

<script setup>
  // 定义 open 方法
  const open = (e) => {
    // console.log('open', e)
  }

  // 定义 close 方法
  const close = (e) => {
    // console.log('close', e)
  }

  // 定义 change 方法
  const change = (e) => {
    // console.log('change', e)
  }
</script>

手风琴模式

将su-collapse的accordion设置为true,这样可以开启手风琴模式

html
<template>
  <view class="u-page__item">
    <text class="u-page__item__title">手风琴模式</text>
    <su-collapse accordion>
      <su-collapse-item title="文档指南">
        <text class="u-collapse-content">涵盖uniapp各个方面,给开发者方向指导和设计理念,让您茅塞顿开,一马平川</text>
      </su-collapse-item>
      <su-collapse-item title="组件全面">
        <text class="u-collapse-content">众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用</text>
      </su-collapse-item>
      <su-collapse-item title="众多利器">
        <text class="u-collapse-content">众多的贴心小工具,是您开发过程中召之即来的利器,让您飞镖在手,百步穿杨</text>
      </su-collapse-item>
    </su-collapse>
  </view>
</template>

自定义标题和内容

  • 通过设置slot来自定义标题和内容
html
<template>
  <view class="u-page__item">
    <text class="u-page__item__title">自定义标题和内容</text>
    <su-collapse accordion>
      <su-collapse-item>
        <template #title>
          <text class="u-page__item__title__slot-title">文档指南</text>
        </template>
        <text class="u-collapse-content">涵盖uniapp各个方面,给开发者方向指导和设计理念,让您茅塞顿开,一马平川</text>
      </su-collapse-item>
      <su-collapse-item title="组件全面">
        <su-icon name="tags-fill" size="20" slot="icon"></su-icon>
        <text class="u-collapse-content">众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用</text>
      </su-collapse-item>
      <su-collapse-item title="众多利器">
        <template #value>
          <text class="u-page__item__title__slot-title">自定义内容</text>
        </template>
        <text class="u-collapse-content">众多的贴心小工具,是您开发过程中召之即来的利器,让您飞镖在手,百步穿杨</text>
      </su-collapse-item>
    </su-collapse>
  </view>
</template>

示例源码

点击可以查看 右侧演示页面的源码

API

Collapse Props

参数说明类型默认值可选值
value当前展开面板的name,非手风琴模式String、Number、Array--
accordion是否手风琴模式Booleanfalsetrue
border是否显示外边框Booleantruefalse

Collapse Item Props

参数说明类型默认值可选值
title面板标题String--
value标题右侧内容String--
label标题下方的描述信息String--
disabled面板是否可以打开或收起Booleanfalsetrue
isLink是否展示右侧箭头并开启点击反馈Booleantruefalse
clickable是否开启点击反馈Booleantruefalse
border是否显示内边框Booleantruefalse
align标题的对齐方式Stringleft-
name唯一标识符,如不设置,默认用当前collapse-item的索引值String / Number--
icon标题左侧图片,可为绝对路径的图片或内置图标String--
duration面板展开收起的过渡时间,单位msNumber300-

Collapse Event

注意:请在<su-collapse></su-collapse>上监听此事件

事件名说明回调参数
change当前激活面板展开时触发(如果是手风琴模式,参数activeNames类型为String,否则为Array)activeNames: String / Array
open当前激活面板展开时触发(如果是手风琴模式,参数activeNames类型为String,否则为Array)activeNames: String / Array
close当前激活面板关闭时触发(如果是手风琴模式,参数activeNames类型为String,否则为Array)activeNames: String / Array

Collapse Methods

注意:此方法需要通过ref调用

方法说明
init重新初始化内部高度计算,用于异步获取内容的情形

Slot

名称说明
-主体部分的内容
title标题内容
iconicon
value右侧value
right-icon右侧icon

Released under the MIT License.

Released under the MIT License.