Skip to content

Switch 开关 ​

查看 sn-switch 的 2.0 版本差异

基础用法 ​

开关选择器,点击在开 / 关之间切换,小球带滑动动画。

  • 绑定值为布尔类型
  • 支持禁用与加载状态:禁用或加载中时点击不切换,加载中会在小球内显示加载动画
  • 支持轨道内显示文本与图标,开 / 关与禁用状态各有独立配色,尺寸、间隙与圆角可自定义
vue
<template>
	<sn-switch v-model="value"></sn-switch>
</template>

<script lang="uts" setup>
const value = ref<boolean>(false)
</script>

更多演示请下载 demo 查看

自定义内容 ​

通过 text 与 icon 可在轨道内显示文本、图标,按需加大 width:

vue
<template>
	<sn-switch v-model="value" text="开" icon="star-fill" width="60px"></sn-switch>
</template>

<script lang="uts" setup>
const value = ref<boolean>(false)
</script>

属性 ​

参数说明类型默认值可选值
v-model绑定值,当前开关状态Booleanfalsetrue | false
width开关宽度String | Number'50px'-
height开关高度String | Number'25px'-
text轨道内文本内容String''-
icon轨道内图标名称String''-
iconSize轨道内图标大小String | Number$12-
padding小球与轨道内边缘的间隙String | Number'5px'-
borderRadius轨道圆角,取高度一半呈胶囊形String | Number--
bgColor关闭状态轨道背景颜色String'$line'-
activeBgColor开启状态轨道背景颜色String'$primary'-
disabledBgColor禁用且关闭时轨道背景颜色String'$disabled'-
disabledActiveBgColor禁用且开启时轨道背景颜色String'$disabledDark'-
blockColor关闭状态小球颜色String'#fff'-
activeBlockColor开启状态小球颜色String'#fff'-
disabledBlockColor禁用且关闭时小球颜色String'#fff'-
disabledActiveBlockColor禁用且开启时小球颜色String'#fff'-
blockBorderRadius小球圆角,取小球尺寸一半呈圆形String | Number--
textColor轨道内文本颜色String'#fff'-
textSize轨道内文本大小String | Number$12-
loading是否处于加载状态(小球内显示加载动画,期间不可点击)Booleanfalsetrue | false
loadingClass加载动画的外部样式类String''-
loadingStyle自定义加载动画样式SnStyleValue''-
disabled是否禁用开关Booleanfalsetrue | false
thumbClass小球的外部样式类String''-
thumbStyle自定义小球样式SnStyleValue''-
customStyle自定义开关根节点样式SnStyleValue''-

事件 ​

名称类型说明
change(value: boolean) => Void状态改变时触发,携带切换后的新值

使用 MIT 协议