Switch 开关
表示两种相互对立的状态间的切换,多用于触发「开/关」。
基础用法
绑定 v-model
到一个 Boolean
类型的变量。 可以使用 --vk-switch-on-color
属性与 --vk-switch-off-color
属性来设置开关的背景色。
<template>
<vk-switch v-model="test" />
</template>
<script setup>
import { ref } from 'vue';
const test = ref(false);
</script>
禁用状态
设置 disabled
属性,接受一个 Boolean
,设置 true
即可禁用。
禁用:
<template>
正常:
<vk-switch v-model="test" />
<br />
禁用:
<vk-switch v-model="test2" disabled />
</template>
<script setup>
import { ref } from 'vue';
const test = ref(false);
const test2 = ref(false);
</script>
不同尺寸
设置 size
属性,接受 large | small
,呈现不同的尺寸。
<template>
<div class="switch-size-container">
<vk-switch v-model="test" size="large" />
<vk-switch v-model="test" />
<vk-switch v-model="test" size="small" />
</div>
</template>
<script setup>
import { ref } from 'vue';
const test = ref(false);
</script>
<style scoped>
.switch-size-container {
display: flex;
align-items: center;
.vk-switch {
margin-right: 10px;
}
}
</style>
支持自定义 value 类型
你可以设置 active-value
和 inactive-value
属性, 它们接受 boolean | string | number
类型的值。
model-value: right
<template>
<vk-switch v-model="test" activeValue="right" inactiveValue="wrong" />
<h4>model-value: {{ test }}</h4>
</template>
<script setup>
import { ref } from 'vue';
const test = ref('right');
</script>
文字描述
使用 active-text
属性与 inactive-text
属性来设置开关的文字描述。
OFF
<template>
<vk-switch v-model="test" activeText="ON" inactiveText="OFF" />
</template>
<script setup>
import { ref } from 'vue';
const test = ref(false);
</script>
API
属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
model-value / v-model | 绑定值,必须等于 active-value 或 inactive-value ,默认为 Boolean 类型 | boolean | string | number | false |
size | switch 的大小 | large | small | - |
disabled | 是否禁用 | boolean | false |
active-value | switch 状态为 on 时的值 | boolean | string | number | true |
inactive-value | switch 状态为 off 时的值 | boolean | string | number | false |
active-text | switch 打开时的文字描述 | string | - |
inactive-text | switch 的状态为 off 时的文字描述 | string | - |
name | switch 对应的 name 属性 | string | - |
事件
事件名 | 描述 | 类型 |
---|---|---|
change | switch 状态发生变化时的回调函数 | (value: boolean | string | number) => void |