Skip to content

SliderDouble 双向滑动选择

基础用法

  • 双向(区间)滑动选择器,轨道上有两个滑块,v-model 绑定一个长度为 2 的数值数组表示区间 [较小值, 较大值]
  • 拖动需按住滑块,拖动结束时若两值交叉会自动交换排序,保证数组前项小于等于后项。
  • 其余表现(竖向、范围步长、显示值文本、自定义样式等)与 sn-slider 一致。
vue
<template>
	<sn-slider-double v-model="range"></sn-slider-double>
</template>

<script lang="uts" setup>
const range = ref<number[]>([20, 40])
</script>

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
v-model绑定区间值(两项分别为区间两端,自动按序排列并夹取到 [min, max]Array<Number>[0, 0]-
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是否在右侧/下方显示当前区间文本(格式如 20 - 40Booleanfalsetrue | 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''-

绑定数组长度不为 2 时,组件会自动重置为 [min, min]。尺寸类属性支持 $ 前缀动态尺寸(乘对应乘数)。

事件

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

使用 MIT 协议