Switch 开关
引入
通过以下方式来全局注册组件,更多注册方式请参考。
基础用法
通过 绑定开关的选中状态,true
表示开,false
表示关。
import { ref } from 'vue';
export default {
setup() {
const checked = ref(true);
return { checked };
},
};
禁用状态
通过 loading
属性设置开关为加载状态,加载状态下开关不可点击。
<van-switch v-model="checked" loading />
自定义大小
通过 size
属性自定义开关的大小。
<van-switch v-model="checked" size="24px" />
自定义颜色
异步控制
需要异步控制开关时,可以使用 modelValue
属性和 update:model-value
事件代替 v-model
,并在事件回调函数中手动处理开关状态。
<van-switch :model-value="checked" @update:model-value="onUpdateValue" />
import { ref } from 'vue';
import { Dialog } from 'vant';
export default {
setup() {
const onUpdateValue = (newValue) => {
Dialog.confirm({
title: '提醒',
message: '是否切换开关?',
}).then(() => {
checked.value = newValue;
});
return {
checked,
onUpdateValue,
};
},
};
Props
Events
类型定义
组件导出以下类型定义:
import type { SwitchProps } from 'vant';