Slider 滑块
一个可交互的滑块组件,用于在指定范围内选择数值。
参数
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| pt | 样式穿透配置 | PassThrough | - | - |
| modelValue | 绑定的当前值 | number | - | 0 |
| values | 绑定的范围值 | number[] | - | [] |
| max | 可选择的最大值 | number | - | 100 |
| min | 可选择的最小值 | number | - | 0 |
| step | 滑动步长 | number | - | 1 |
| disabled | 是否禁用滑块 | boolean | - | false |
| blockSize | 滑块手柄大小(px) | number | - | 20 |
| showValue | 是否显示当前值 | boolean | - | false |
| range | 是否启用范围选择 | boolean | - | false |
事件
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| update:modelValue | 滑块值变化时触发的双向绑定 | |
| update:values | 滑块范围值变化时触发的双向绑定 | |
| change | 滑块值变化时触发的事件 | (value: number) => void |
| changing | 滑动中变化时触发的事件 | (value: number | number[]) => void |
PassThrough
样式穿透配置对象,用于深度自定义组件内部元素的样式。
| 参数 | 说明 | 类型 |
|---|---|---|
| className | 组件根元素样式 | string |
| track | 滑块轨道配置 | PassThroughProps |
| progress | 滑块进度条配置 | PassThroughProps |
| thumb | 滑块手柄配置 | PassThroughProps |
| value | 显示数值标签配置 | PassThroughProps |
示例
基本用法
最简单的滑块使用方式
html
<cl-slider></cl-slider>显示当前值
在滑块上方显示当前选择的数值
html
<cl-slider show-value></cl-slider>设置步长
设置滑块的移动步长为 10
html
<cl-slider :step="10"></cl-slider>自定义范围
设置滑块的最大值为 50
html
<cl-slider :max="50"></cl-slider>禁用状态
禁用滑块,阻止用户交互
html
<cl-slider disabled></cl-slider>范围值
通过设置 range 属性,可以开启范围选择模式,此时 v-model:values 需要绑定一个数组
vue
<cl-slider range v-model:values="values"></cl-slider>
<script lang="ts" setup>
const values = ref<number[]>([10, 30]);
</script>


