Skip to content
在新窗口打开实时预览

Switch 开关 ​

切换 boolean、字符串或数字状态,支持加载、禁用、自定义值和短震动反馈。

平台兼容性 ​

H5App微信小程序支付宝小程序
√√√√

基础用法 ​

vue
<snake-switch v-model="enabled" />
<snake-switch v-model="status" active-value="yes" inactive-value="no" loading />

H5 中组件可通过 Tab 聚焦,并使用 Enter 或空格切换。disabled 或 loading 时会退出键盘焦点顺序,也不会更新绑定值。

异步切换 ​

切换远程设置时,用 loading 锁定当前开关;请求失败后将绑定值恢复为原值,避免界面与服务端状态不一致。

vue
<snake-switch v-model="enabled" :loading="updating" @change="updateSetting" />

API ​

Props ​

参数说明类型默认值
modelValue当前值boolean | string | numberfalse
activeValue / inactiveValue开启和关闭值同 modelValuetrue / false
loading / disabled加载和禁用booleanfalse
size / space开关尺寸和内边距UnitValue50 / 2
activeColor / inactiveColor开启和关闭颜色string主题默认值
vibrateShort切换时尝试短震动booleanfalse
customClass / customStyle自定义类名和样式string | style''

Events ​

事件名说明参数
update:modelValue / change状态更新新值
click点击组件,禁用时也会触发event

主题变量 ​

变量用途
--snake-color-primary默认开启颜色与焦点
--snake-color-border默认关闭颜色

activeColor 和 inactiveColor 可以覆盖单个实例的对应颜色。

为 uni-app 商城与 CMS 场景设计