Skip to content

Switch 开关

在开/关两种状态间切换的控件。支持尺寸、类型、标签/图标、自定义取值、异步前置校验与切换动效。

基础用法

使用 v-model 绑定当前值(默认 true/false)。

当前:false

尺寸

通过 size 设置尺寸:smmdlgxl

类型

使用 type 切换主题风格,常用于表达状态语义。

标签文案

使用 onLabel / offLabel 显示两端的标签文本(自动截取中/英文)。

ONOFF

中心图标

设置 centerIcon 并传入 onIcon / offIcon 组件,在圆钮内显示图标。

自定义取值

通过 checkedValueuncheckedValue 自定义取值类型(如 1/0'Y'/'N')。

当前值:0

禁用

设置 disabled 禁用开关,支持加载中态锁定交互。

异步前置校验

使用 beforeChange(返回值可为布尔或 Promise)。返回 false 阻止切换;Promise 期间显示加载。

切换动效

通过 transition 控制标签切换的动画:scaleslide

ONOFF

属性

属性名类型默认值说明
v-modelanyfalse当前值,与 checkedValue/uncheckedValue 对比决定状态
typestringprimary风格类型:primary/success/warning/error
sizestringsm尺寸:sm/md/lg/xl
onLabel/offLabelstring''两端文案,中文取首字符,英文最多 3 个字符
onIcon/offIconComponent/string''两端或中心显示的图标组件(常配合 centerIcon
centerIconbooleanfalse是否在圆钮中心显示图标(优先于两端文案)
disabledbooleanfalse是否禁用
checkedValueanytrue选中状态对应的值
uncheckedValueanyfalse未选中状态对应的值
beforeChange() => boolean/Promise<booleanvoid>-切换前置校验,返回 false 阻止;Promise 期间进入加载,resolve 为 false 同样
transitionstringscale标签切换动效:scale/slide
## 事件

当前通过 v-model 更新值。可自行监听 v-model 绑定数据的变化处理业务逻辑。

插槽

无。