Skip to content

Switch 开关

查看 sn-switch 的 2.0 版本差异

基础用法

  • 开关选择器,v-model 绑定布尔值,点击切换,小球带滑动动画。
  • 支持禁用与加载状态:禁用或加载中时点击不切换,加载中会在小球内显示加载动画。
  • 支持在轨道内显示文本与图标(显示时建议加大宽度留出空间)。
  • 轨道与小球在开/关、禁用状态下均有独立配色,尺寸、间隙、圆角均可自定义。
vue
<template>
	<sn-switch v-model="value"></sn-switch>
</template>

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

更多演示请下载 demo 查看

自定义内容

通过 texticon 可在轨道内显示文本、图标,按需加大 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''(默认 12px × fontsizeFactor)-
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''(默认 12px × fontsizeFactor)-
loading是否处于加载状态(小球内显示加载动画,期间不可点击)Booleanfalsetrue | false
loadingClass加载动画的外部样式类String''-
loadingStyle自定义加载动画样式UTSJSONObject | String''-
disabled是否禁用开关Booleanfalsetrue | false
thumbClass小球的外部样式类String''-
thumbStyle自定义小球样式UTSJSONObject | String''-
customStyle自定义开关根节点样式UTSJSONObject | String''-

事件

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

使用 MIT 协议