Collapse折叠面板

可以折叠/展开的内容区域。

何时使用

  • 对复杂区域进行分组和隐藏,保持页面的整洁。
  • ‘手风琴’ 是一种特殊的折叠面板,只允许单个内容区域展开。

代码演示

Collapse折叠面板 - 图1

折叠面板

可以同时展开多个面板,这个例子默认展开了第一个。

  1. <template>
  2. <div>
  3. <a-collapse v-model="activeKey">
  4. <a-collapse-panel header="This is panel header 1" key="1">
  5. <p>{{text}}</p>
  6. </a-collapse-panel>
  7. <a-collapse-panel header="This is panel header 2" key="2" :disabled='false'>
  8. <p>{{text}}</p>
  9. </a-collapse-panel>
  10. <a-collapse-panel header="This is panel header 3" key="3" disabled>
  11. <p>{{text}}</p>
  12. </a-collapse-panel>
  13. </a-collapse>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. data () {
  19. return {
  20. text: `A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.`,
  21. activeKey: ['1']
  22. }
  23. },
  24. watch: {
  25. activeKey(key){
  26. console.log(key)
  27. }
  28. },
  29. }
  30. </script>

Collapse折叠面板 - 图2

手风琴

手风琴,每次只打开一个tab。默认打开第一个。

  1. <template>
  2. <div>
  3. <a-collapse accordion>
  4. <a-collapse-panel header="This is panel header 1" key="1">
  5. <p>{{text}}</p>
  6. </a-collapse-panel>
  7. <a-collapse-panel header="This is panel header 2" key="2" :disabled='false'>
  8. <p>{{text}}</p>
  9. </a-collapse-panel>
  10. <a-collapse-panel header="This is panel header 3" key="3">
  11. <p>{{text}}</p>
  12. </a-collapse-panel>
  13. </a-collapse>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. data () {
  19. return {
  20. text: `A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.`,
  21. }
  22. },
  23. }
  24. </script>

Collapse折叠面板 - 图3

面板嵌套

嵌套折叠面板。

  1. <template>
  2. <div>
  3. <a-collapse @change="changeActivekey">
  4. <a-collapse-panel header="This is panel header 1" key="1">
  5. <a-collapse defaultActiveKey="4">
  6. <a-collapse-panel header="This is panel nest panel" key="4">
  7. <p>{{text}}</p>
  8. </a-collapse-panel>
  9. </a-collapse>
  10. </a-collapse-panel>
  11. <a-collapse-panel header="This is panel header 2" key="2" :disabled='false'>
  12. <p>{{text}}</p>
  13. </a-collapse-panel>
  14. <a-collapse-panel header="This is panel header 3" key="3">
  15. <p>{{text}}</p>
  16. </a-collapse-panel>
  17. </a-collapse>
  18. </div>
  19. </template>
  20. <script>
  21. export default {
  22. data () {
  23. return {
  24. text: `A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.`,
  25. }
  26. },
  27. methods: {
  28. changeActivekey (key) {
  29. console.log(key)
  30. },
  31. },
  32. }
  33. </script>

Collapse折叠面板 - 图4

简洁风格

一套没有边框的简洁样式。

  1. <template>
  2. <div>
  3. <a-collapse defaultActiveKey="1" :bordered="false">
  4. <a-collapse-panel header="This is panel header 1" key="1">
  5. <p>{{text}}</p>
  6. </a-collapse-panel>
  7. <a-collapse-panel header="This is panel header 2" key="2" :disabled='false'>
  8. <p>{{text}}</p>
  9. </a-collapse-panel>
  10. <a-collapse-panel header="This is panel header 3" key="3">
  11. <p>{{text}}</p>
  12. </a-collapse-panel>
  13. </a-collapse>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. data () {
  19. return {
  20. text: `A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.`,
  21. }
  22. },
  23. }
  24. </script>

Collapse折叠面板 - 图5

自定义面板

自定义各个面板的背景色、圆角和边距。

  1. <template>
  2. <div>
  3. <a-collapse defaultActiveKey="1" :bordered="false">
  4. <a-collapse-panel key="1" :style="customStyle">
  5. <template slot="header">
  6. This is panel header 1<a-icon type="question-circle-o" />
  7. </template>
  8. <p>{{text}}</p>
  9. </a-collapse-panel>
  10. <a-collapse-panel header="This is panel header 2" key="2" :style="customStyle">
  11. <p>{{text}}</p>
  12. </a-collapse-panel>
  13. <a-collapse-panel header="This is panel header 3" key="3" :style="customStyle">
  14. <p>{{text}}</p>
  15. </a-collapse-panel>
  16. </a-collapse>
  17. </div>
  18. </template>
  19. <script>
  20. export default {
  21. data () {
  22. return {
  23. text: `A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.`,
  24. customStyle: 'background: #f7f7f7;border-radius: 4px;margin-bottom: 24px;border: 0;overflow: hidden'
  25. }
  26. },
  27. }
  28. </script>

Collapse折叠面板 - 图6

隐藏箭头

你可以通过 :showArrow="false" 隐藏 a-collapse-panel 组件的箭头图标。

  1. <template>
  2. <div>
  3. <a-collapse defaultActiveKey="1" @change="changeActivekey">
  4. <a-collapse-panel header="This is panel header with arrow icon" key="1">
  5. <p>{{text}}</p>
  6. </a-collapse-panel>
  7. <a-collapse-panel header="This is panel header with no arrow icon" key="2" :showArrow="false">
  8. <p>{{text}}</p>
  9. </a-collapse-panel>
  10. </a-collapse>
  11. </div>
  12. </template>
  13. <script>
  14. export default {
  15. data () {
  16. return {
  17. text: `A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.`,
  18. }
  19. },
  20. methods: {
  21. changeActivekey (key) {
  22. console.log(key)
  23. },
  24. },
  25. }
  26. </script>

API

Collapse

参数说明类型默认值
activeKey(v-model)当前激活 tab 面板的 keystring[]|string默认无,accordion模式下默认第一个元素
defaultActiveKey初始化选中面板的 keystring

事件

事件名称说明回调参数
change切换面板的回调function(key)

Collapse.Panel

参数说明类型默认值
disabled禁用后的面板展开与否将无法通过用户交互改变booleanfalse
forceRender被隐藏时是否渲染 DOM 结构booleanfalse
header面板头内容string|slot
key对应 activeKeystring