Skip to content

Collapse 折叠面板

用于将大量文本、复杂配置或 FAQ 常见问题进行分组收纳的折叠控件,支持多开展开、手风琴单开 (accordion) 与下划线连贯形态。


代码示例

1. 基础折叠面板 (Basic Collapse)

使用 items 传入折叠项数组,每个折叠项包含 titlecontent 与可选的 icon。使用 v-model 双向绑定当前展开的项索引。

vue
<template>
  <mu-collapse :items="items" v-model="activeIndexes" />
</template>

<script setup>
import { ref } from 'vue'

const activeIndexes = ref([0])
const items = ref([
  { title: 'MuZhiYu UI 设计理念', content: '基于 Vue 3 + SCSS 打造的全端极奢 UI 组件库。', icon: 'star' },
  { title: '多端自适应渲染', content: '一套代码,同时完美适配微信小程序、H5、iOS 及 Android。', icon: 'user' }
])
</script>

2. 手风琴单开模式 (Accordion)

设置 accordion 属性后,同时仅允许开一项,展开新项时旧项会自动平滑收起。

vue
<template>
  <mu-collapse :items="faqItems" v-model="active" accordion />
</template>

<script setup>
import { ref } from 'vue'

const active = ref(0)
const faqItems = ref([
  { title: '手风琴选项一', content: '展开当前项时,其他已展开的折叠面板会自动优雅收起。' },
  { title: '手风琴选项二', content: '适用于常见问题解答(FAQ)或限制展示面积的设置面板。' }
])
</script>

3. 下划线连贯形态 (Line Variant)

设置 variant="line" 切换为极简分割线下划线内嵌形态。

vue
<template>
  <mu-collapse :items="settingsItems" v-model="active" variant="line" />
</template>

Item 配置属性 (CollapseItem Object)

参数名说明类型默认值
title折叠面板标题文本String''
content展开的主体文本内容String''
icon标题左侧图标名称String''
value标题右侧的辅助状态或数值文本String''
disabled是否禁用该折叠项的展开收起Booleanfalse

API 属性说明 (Props)

参数名说明类型可选值默认值
v-model / activeIndex当前展开的项索引(手风琴模式下为 Number,多开模式下为 ArrayNumber | Array--1
items折叠项配置数组Array-[]
accordion是否开启手风琴单开模式Booleantrue | falsefalse
variant外观形态Stringcard | line'card'
bordered是否带有外边框Booleantrue | falsetrue

事件说明 (Events)

事件名说明回调参数
change展开/收起状态发生更改变时触发(active: Number | Array)
update:modelValue双向绑定更改变(active: Number | Array)
update:activeIndexv-model:activeIndex 双向绑定更新(active: Number | Array)

插槽说明 (Slots)

插槽名说明
default折叠面板包含的子项内容区插槽

基于 MIT 协议开源发行

H5 模拟器 (collapse)☀️🔄