Skip to content

Collapse 折叠面板

折叠面板组件,用于展示可折叠的内容区域。

基础用法

Q

基础折叠面板

+

默认展开

Q

默认展开的面板

这个面板默认是展开状态

自定义徽章

NEW

自定义徽章文本

+
HOT

自定义徽章颜色

+

自定义徽章内容

+

禁用状态

Q

禁用的面板

+

底部间距

当多个折叠面板需要垂直排列时,可以使用 margin-bottom 属性设置间距:

Q

第一个面板

+
Q

第二个面板

+
Q

第三个面板

+

插槽使用

Q

自定义标题

额外信息

事件处理

vue
<template>
  <Collapse 
    title="事件处理示例" 
    @change="handleCollapseChange"
    @title-click="handleTitleClick"
  >
    <p>点击标题或切换状态时会触发相应事件</p>
  </Collapse>
</template>

<script setup>
const handleCollapseChange = (isOpen) => {
  console.log('面板状态改变:', isOpen)
}

const handleTitleClick = (event) => {
  console.log('标题被点击:', event)
}
</script>

方法调用

vue
<template>
  <div>
    <div style="margin-bottom: 16px;">
      <button @click="togglePanel">切换面板</button>
      <button @click="openPanel">展开面板</button>
      <button @click="closePanel">收起面板</button>
    </div>
    
    <Collapse ref="collapseRef" title="可控制的面板">
      <p>通过方法控制的面板</p>
    </Collapse>
  </div>
</template>

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

const collapseRef = ref()

const togglePanel = () => {
  collapseRef.value?.toggle()
}

const openPanel = () => {
  collapseRef.value?.open()
}

const closePanel = () => {
  collapseRef.value?.close()
}
</script>

API

Collapse Props

参数说明类型默认值
title标题文本string-
defaultOpen是否默认展开booleanfalse
disabled是否禁用booleanfalse
badge自定义徽章文本string-
badgeColor自定义徽章颜色string-
bordered是否显示边框booleantrue
shadow是否显示阴影booleantrue
marginBottom底部外边距number | string0

Collapse Events

事件名说明回调参数
change展开/收起状态改变时触发(isOpen: boolean)
title-click点击标题时触发(event: MouseEvent)

Collapse Slots

插槽名说明
default面板内容
title自定义标题
badge自定义徽章
extra标题右侧额外内容
toggle-icon自定义切换图标

Collapse Methods

方法名说明参数
toggle切换展开/收起状态-
open展开面板-
close收起面板-
isOpen获取当前展开状态-

Released under the MIT License.