Collapse 折叠面板
通过折叠面板收纳内容区域
基础用法
可同时展开多个面板,面板之间不影响
Consistency
Consistent with real life: in line with the process and logic of real life, and comply with languages and habits that the users are used to;
Consistent within interface: all elements should be consistent, such as: design style, icons and texts, position of elements, etc.
Feedback
Efficiency
Controllability
<template>
<div class="demo-collapse">
<vk-collapse v-model="activeNames" @change="handleChange">
<vk-collapse-item title="Consistency" name="1">
<div>
Consistent with real life: in line with the process and logic of real
life, and comply with languages and habits that the users are used to;
</div>
<div>
Consistent within interface: all elements should be consistent, such
as: design style, icons and texts, position of elements, etc.
</div>
</vk-collapse-item>
<vk-collapse-item title="Feedback" name="2">
<div>
Operation feedback: enable the users to clearly perceive their
operations by style updates and interactive effects;
</div>
<div>
Visual feedback: reflect current state by updating or rearranging
elements of the page.
</div>
</vk-collapse-item>
<vk-collapse-item title="Efficiency" name="3">
<div>
Simplify the process: keep operating process simple and intuitive;
</div>
<div>
Definite and clear: enunciate your intentions clearly so that the
users can quickly understand and make decisions;
</div>
<div>
Easy to identify: the interface should be straightforward, which helps
the users to identify and frees them from memorizing and recalling.
</div>
</vk-collapse-item>
<vk-collapse-item title="Controllability" name="4">
<div>
Decision making: giving advice about operations is acceptable, but do
not make decisions for the users;
</div>
<div>
Controlled consequences: users should be granted the freedom to
operate, including canceling, aborting or terminating current
operation.
</div>
</vk-collapse-item>
</vk-collapse>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import {NameType} from "xb-element/dist/types/components/Collapse/type";
const activeNames = ref(['1'])
const handleChange = (val: NameType) => {
console.log(val)
}
</script>手风琴效果
每次只能展开一个面板
通过 accordion 属性来设置是否以手风琴模式显示。
Consistency
Consistent with real life: in line with the process and logic of real life, and comply with languages and habits that the users are used to;
Consistent within interface: all elements should be consistent, such as: design style, icons and texts, position of elements, etc.
Feedback
Efficiency
Controllability
<template>
<div class="demo-collapse">
<vk-collapse v-model="activeNames" @change="handleChange" accordion>
<vk-collapse-item title="Consistency" name="1">
<div>
Consistent with real life: in line with the process and logic of real
life, and comply with languages and habits that the users are used to;
</div>
<div>
Consistent within interface: all elements should be consistent, such
as: design style, icons and texts, position of elements, etc.
</div>
</vk-collapse-item>
<vk-collapse-item title="Feedback" name="2">
<div>
Operation feedback: enable the users to clearly perceive their
operations by style updates and interactive effects;
</div>
<div>
Visual feedback: reflect current state by updating or rearranging
elements of the page.
</div>
</vk-collapse-item>
<vk-collapse-item title="Efficiency" name="3">
<div>
Simplify the process: keep operating process simple and intuitive;
</div>
<div>
Definite and clear: enunciate your intentions clearly so that the
users can quickly understand and make decisions;
</div>
<div>
Easy to identify: the interface should be straightforward, which helps
the users to identify and frees them from memorizing and recalling.
</div>
</vk-collapse-item>
<vk-collapse-item title="Controllability" name="4">
<div>
Decision making: giving advice about operations is acceptable, but do
not make decisions for the users;
</div>
<div>
Controlled consequences: users should be granted the freedom to
operate, including canceling, aborting or terminating current
operation.
</div>
</vk-collapse-item>
</vk-collapse>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import {NameType} from "xb-element/dist/types/components/Collapse/type";
const activeNames = ref(['1'])
const handleChange = (val: NameType) => {
console.log(val)
}
</script>Collapse API
Collapse Attribute
| 属性名 | 详情 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 当前活动面板,其类型是array | array | [] |
| accordion | 是否手风琴模式 | boolean | false |
Collapse Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| change | 切换当前活动面板,其类型是array | Function |
Collapse Slots
| 插槽名 | 描述 | 子标签 |
|---|---|---|
| default | 自定义默认内容 | Collapse Item |
Collapse Exposes
| 方法名 | 说明 | 类型 |
|---|---|---|
| activeNames | 当前活动的面板 | array |
| handleItemClick | 设置活动面板 | Function |
Collapse Item API
Collapse Item Attributes
| 属性名 | 详情 | 类型 | 默认值 |
|---|---|---|---|
| name | 唯一标志符 | string | number |
| title | 面板标题 | string | '' |
| disabled | 是否禁用 | boolean | false |
Collapse Item Slot
| 名称 | 说明 | 类型 |
|---|---|---|
| default | Collapse Item 的内容 | - |