项目正在快速迭代中,API 与视觉细节可能随版本调整,请勿用于生产环境。
仅桌面端保证样式

Switch 开关 ​

表示两种相互对立状态的切换控件,支持自定义开 / 关时的取值与文案,以及异步加载态。在 eb-form 中 change 时机自动触发校验。

基础用法 ​

v-model 绑定布尔值(与 active-value / inactive-value 比较判定状态);disabled 禁用切换,loading 呈加载中并同样阻止切换。静态回显用 :model-value 绑定即可。

基础用法之上,还有两种改变默认行为的方式:改变取值语义与异步受控,见下方示例。

文案与尺寸 ​

active-text / inactive-text 自定义两侧文案(建议配合 width 加宽开关);inline-prompt 时文案内嵌同时呈现;size 切换 small / large 尺寸。

下线发布
关开

自定义取值 ​

active-value / inactive-value 让开 / 关写入自定义值(字符串、数字等):绑定值与 active-value 相等即为开态,适合后端字段语义不是 boolean 的场景(如下例 yes / no 与 1 / 0)。

当前值:yes

异步切换 ​

等待服务端确认再翻转的受控写法:用 :model-value 受控 + change 回调里先置 loading(阻止重复切换),请求成功后再把新值写入绑定值。loading 期间开关不可操作。

handleAsyncChange 定义见页面顶部 script:模拟 800ms 请求后提交新值,实际项目中替换为接口调用即可。

组合场景:控制配置项可用性 ​

开关驱动其它控件的可用性是后台表单的高频组合:关闭后关联输入框联动禁用,直观表达该配置未启用。

所有人仅管理员

API ​

Switch Props

参数说明类型默认值
v-model绑定值(与 active-value 比较判定开态)string | number | booleanfalse
active-value打开时的值string | number | booleantrue
inactive-value关闭时的值string | number | booleanfalse
active-text打开态文案(两侧或内嵌展示)string
inactive-text关闭态文案string
inline-prompt文案内嵌显示(开 / 关文案同时呈现于两侧)booleanfalse
width开关宽度(px),放置文案时建议加宽string | number—
size尺寸,支持 small / default / largestringdefault
disabled禁用(同时响应表单禁用态)booleanfalse
loading加载中(禁止切换并显示旋转图标)booleanfalse
name原生 input name 属性string—

Switch Events

参数说明类型默认值
update:modelValue状态切换,返回切换后的值(active-value 或 inactive-value)(value: string | number | boolean) => void—
change状态切换,与 update:modelValue 同步触发(value: string | number | boolean) => void—

Switch Methods

参数说明类型默认值
focus使内部 input 聚焦() => void—
blur使内部 input 失焦() => void—
ref内部原生 input 元素引用HTMLInputElement—