Skip to content

Slider 滑动选择

查看 sn-slider 的 2.0 版本差异

基础用法

  • 通过拖动滑块在一个数值区间内选择数值,v-model 双向绑定当前值。
  • 支持横向 / 竖向(vertical)、自定义范围与步长(min / max / step)、显示当前值文本。
  • 拖动时通过直接操作 DOM 更新滑块与进度位置,拖动跟手流畅;点击轨道任意位置可快速定位到该处。
  • 绑定值会自动夹取到 [min, max] 区间并按 step 取整。
  • 需要选择一个数值区间(双向滑块)时,请使用 sn-slider-double
vue
<template>
	<sn-slider v-model="value"></sn-slider>
</template>

<script lang="uts" setup>
const value = ref<number>(30)
</script>

更多演示请下载 demo 查看

竖向滑动

verticaltrue 时竖向显示,父容器需要给定高度:

vue
<template>
	<view style="height: 200px;">
		<sn-slider v-model="value" vertical></sn-slider>
	</view>
</template>

显示当前值

开启 show-value-text 后会在组件右侧(竖向时为下方)显示当前值:

vue
<template>
	<sn-slider v-model="value" show-value-text :min="10" :max="60" :step="5"></sn-slider>
</template>

属性

参数说明类型默认值可选值
v-model绑定当前值(自动夹取到 [min, max] 并按 step 取整)Number0-
vertical是否为竖向滑动选择器Booleanfalsetrue | false
min最小值Number0-
max最大值Number100-
step步长,取值按步长取整Number1-
disabled是否禁用,禁用后轨道与激活条呈禁用色且不可交互Booleanfalsetrue | false
activeColor激活部分(进度)颜色String$primary任意色值或 $ 主题色简写
inactiveColor轨道未激活部分颜色String$infoActive任意色值或 $ 主题色简写
thickness轨道粗细String | Number20px-
borderRadius轨道圆角,留空时自动取轨道粗细的一半(全圆角)String | Number''-
thumbBorderRadius滑块圆角,留空时自动取滑块尺寸的一半(全圆角)String | Number''-
thumbBorder滑块边框(CSS border 值,如 2px solid #ffffffString''-
thumbSize滑块尺寸String | Number10px-
showValueText是否在右侧/下方显示当前值文本Booleanfalsetrue | false
valueTextWidth当前值文本宽度String | Number30px-
customStyle根节点自定义样式UTSJSONObject | String''-
trackClass轨道的外部样式类String''-
trackStyle轨道自定义样式UTSJSONObject | String''-
activeClass激活条的外部样式类String''-
activeStyle激活条自定义样式UTSJSONObject | String''-
thumbClass滑块的外部样式类String''-
thumbStyle滑块自定义样式UTSJSONObject | String''-
valueTextClass值文本的外部样式类String''-
valueTextStyle值文本自定义样式UTSJSONObject | String''-

尺寸类属性支持 $ 前缀动态尺寸(乘对应乘数),如 thumb-size="$14"

事件

名称类型说明
change(value: Number) => Void拖动松手后触发,携带最终值(拖动过程中不触发,外部赋值不触发)

使用 MIT 协议