Skip to content

Collapse 折叠面板

介绍

将内容放置在多个折叠面板中,点击面板标题可展开或收缩内容。

基础用法

通过 v-model 控制展开的面板列表,绑定值为数组。

html
<template>
  <nut-collapse v-model="activeNames" @change="onChange">
    <nut-collapse-item :name="1">
      <template #title>
        标题 1
      </template>
      NutUI 是一套拥有京东风格的轻量级的 Vue 组件库
    </nut-collapse-item>

    <nut-collapse-item title="标题 2" :name="2">
      在产品的功能、体验、易用性和灵活性等各个方面做了全面的升级!
    </nut-collapse-item>

    <nut-collapse-item title="标题 3" :name="3" disabled></nut-collapse-item>
  </nut-collapse>
</template>
ts
const activeNames = ref([1, 2]);

function onChange(value: string | number | (string | number)[], name: string | number, status: boolean) {
  // value:v-model 绑定值
  // name:当前操作 collapse-item 的 name
  // status:开启状态
}

手风琴

通过 accordion 可以设置为手风琴模式,最多展开一个面板,此时绑定值为字符串或数字,value 可以设置右侧的内容。

html
<template>
  <nut-collapse v-model="activeName" accordion>
    <nut-collapse-item title="标题 1" :name="1" value="副标题">
      基于京东设计语言体系,构建场景
    </nut-collapse-item>

    <nut-collapse-item title="标题 2" :name="2">
      提高界⾯的模块化通用程度
    </nut-collapse-item>

    <nut-collapse-item title="标题 3" :name="3">
      采用组合式 API Composition 语法重构,结构清晰,功能模块化
    </nut-collapse-item>
  </nut-collapse>
</template>
ts
const activeName = ref(1);

自定义折叠图标

通过 icon 设置自定义图标。

html
<template>
  <nut-collapse v-model="activeName" accordion>
    <nut-collapse-item title="标题 1" :name="1" icon="notice">
      <template #value>
        文本测试
      </template>
      NUTUI3.0重新思考其内在的一致性和可组合性
    </nut-collapse-item>

    <nut-collapse-item title="标题 2" :name="2" icon="follow">
      提⾼产研输出对接的效率,降低输出工作量
    </nut-collapse-item>
  </nut-collapse>
</template>

设置固定内容(不折叠)

通过 extra 插槽设置内容。

html
<template>
  <nut-collapse v-model="activeName" accordion>
    <nut-collapse-item title="标题 1" :name="1">
      <template #extra>固定内容</template>
      NutUI是一套拥有京东风格的轻量级的 Vue 组件库
    </nut-collapse-item>

    <nut-collapse-item title="标题 2" :name="2">
      在产品的功能、体验、易用性和灵活性等各个方面做了全面的升级!
    </nut-collapse-item>
  </nut-collapse>
</template>

API

Collapse Props

参数说明类型可选值默认值
v-model当前展开面板的 name(手风琴模式:string | number,非手风琴模式:(string | number)[]string / number / Array--
accordion是否开启手风琴模式boolean-false

Collapse Events

事件名说明类型
change切换面板时触发(value: string | number | (string | number)[], name: string | number, status: boolean) => void

CollapseItem Props

参数说明类型可选值默认值
name唯一标识符,必填string / number--1
title标题栏左侧内容string--
value标题栏右侧内容string--
icon标题栏左侧图标string-down-arrow
label标题栏描述信息string--
rotate点击折叠和展开的旋转角度string / number-180
disabled标题栏是否禁用boolean-false
border是否显示边框boolean-true

CollapseItem Slots

名称说明
title标题栏左侧内容插槽
value标题栏右侧内容插槽
extra设置标题下固定内容(不折叠)
icon 1.3.0设置自定义图标

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

NameDefault Value
--nut-collapse-item-padding13px 36px 13px 26px
--nut-collapse-item-color#666666
--nut-collapse-item-disabled-color#c8c9cc
--nut-collapse-item-icon-color#666666
--nut-collapse-item-font-sizevar(--nut-font-size-2)
--nut-collapse-item-line-height24px
--nut-collapse-item-sub-title-color#666666
--nut-collapse-wrapper-content-padding12px 26px
--nut-collapse-wrapper-empty-content-padding0 26px
--nut-collapse-wrapper-content-color#666666
--nut-collapse-wrapper-content-font-sizevar(--nut-font-size-2)
--nut-collapse-wrapper-content-line-height1.5
--nut-collapse-wrapper-content-background-colorvar(--nut-white)

MIT Licensed