# Slider 滑动选择器 
适用于选择单个数值或区间范围的场景,支持横向/纵向、反向、禁用、双滑块区间、防交叉、显示数值等能力。
# 平台差异说明
App(vue) | App(nvue) | H5 | 小程序 |
---|---|---|---|
√ | X | √ | √ |
# 基本用法(单滑块)
<template> <u-slider v-model="value" /> </template> <script> export default { data() { return { value: 30 } } } </script>
✅ Copy success!
# 区间选择(双滑块)
<u-slider v-model="range" :range="true" /> <script> export default { data() { return { range: [20, 60] } } } </script>
✅ Copy success!
# 最小/最大值与步长
<u-slider v-model="value" :min="10" :max="200" :step="5" />
✅ Copy success!
说明:内部会按步长对值进行就近取整,随后裁剪到区间 [min, max] 内。
# 禁用与只读
<u-slider v-model="value" disabled /> <u-slider v-model="value" readonly />
✅ Copy success!
# 竖向与反向
<u-slider v-model="value" vertical style="height: 200px" /> <u-slider v-model="value" :reverse="true" />
✅ Copy success!
# 防交叉(区间)
<u-slider v-model="range" :range="true" :noCross="true" />
✅ Copy success!
# 显示数值
<u-slider v-model="value" :showValue="true" /> <u-slider v-model="range" :range="true" :showValue="true" />
✅ Copy success!
# 自定义尺寸与颜色
- 轨道尺寸与圆角:
railSize
、railRadius
- 轨道颜色:
railColor
;已选轨道颜色:trackColor
- 滑块尺寸/颜色/圆角/边框:
thumbSize
、thumbColor
、thumbRadius
、thumbBorder
- 主尺寸(横向为高度、纵向为宽度):
size
<u-slider v-model="value" railSize="6px" railRadius="3px" trackColor="#1677ff" thumbSize="22px" thumbColor="#fff" thumbBorder="3px solid #1677ff" />
✅ Copy success!
# 槽位
- startThumb:自定义起始滑块内容
- endThumb:自定义结束滑块内容(区间模式)
<u-slider v-model="range" :range="true"> <template #startThumb> <view class="custom-thumb" /> </template> <template #endThumb> <view class="custom-thumb" /> </template> </u-slider>
✅ Copy success!
# API
# Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
v-model | 双向绑定值(Number 或 [start, end]) | Number | Array | 0 |
min | 最小值 | Number | 0 |
max | 最大值 | Number | 100 |
step | 步长,>0 | Number | 1 |
range | 是否启用区间模式 | Boolean | false |
disabled | 是否禁用 | Boolean | false |
readonly | 是否只读 | Boolean | false |
reverse | 是否反向 | Boolean | false |
noCross | 区间是否禁止交叉 | Boolean | false |
vertical | 是否竖向 | Boolean | false |
size | 主尺寸(纵向为宽度/横向为高度) | String | 24px |
railColor | 轨道颜色 | String | rgba(0, 0, 0, 0.1) |
railRadius | 轨道圆角 | String | 2px |
railSize | 轨道厚度 | String | 4px |
trackColor | 已选轨道颜色 | String | #1677ff |
thumbSize | 滑块尺寸 | String | 20px |
thumbColor | 滑块背景色 | String | #ffffff |
thumbBorder | 滑块边框 | String | 3px solid #1677ff |
thumbRadius | 滑块圆角 | String | 50% |
showValue | 是否显示当前值 | Boolean | false |
说明:数值类 props 会在内部做安全转换与边界裁剪。
# Events
事件名 | 说明 | 回调参数 |
---|---|---|
change | 值稳定后触发(松手/点轨道) | 当前值(Number | Array) |
dragStart | 开始拖动 | 当前值(Number | Array) |
dragEnd | 结束拖动 | 当前值(Number | Array) |
# Slots
名称 | 说明 |
---|---|
startThumb | 起始滑块内容 |
endThumb | 结束滑块内容(区间模式) |
← Switch 开关选择器 Album 相册 →