Switch 开关

引入

通过以下方式来全局注册组件,更多注册方式请参考。

基础用法

通过 绑定开关的选中状态,true 表示开,false 表示关。

    1. import { ref } from 'vue';
    2. export default {
    3. setup() {
    4. const checked = ref(true);
    5. return { checked };
    6. },
    7. };

    禁用状态

    通过 loading 属性设置开关为加载状态,加载状态下开关不可点击。

    1. <van-switch v-model="checked" loading />

    自定义大小

    通过 size 属性自定义开关的大小。

    1. <van-switch v-model="checked" size="24px" />

    自定义颜色

    异步控制

    需要异步控制开关时,可以使用 modelValue 属性和 update:model-value 事件代替 v-model,并在事件回调函数中手动处理开关状态。

    1. <van-switch :model-value="checked" @update:model-value="onUpdateValue" />
    1. import { ref } from 'vue';
    2. import { Dialog } from 'vant';
    3. export default {
    4. setup() {
    5. const onUpdateValue = (newValue) => {
    6. Dialog.confirm({
    7. title: '提醒',
    8. message: '是否切换开关?',
    9. }).then(() => {
    10. checked.value = newValue;
    11. });
    12. return {
    13. checked,
    14. onUpdateValue,
    15. };
    16. },
    17. };

    Props

    Events

    类型定义

    组件导出以下类型定义:

    1. import type { SwitchProps } from 'vant';