Slider 滑动选择器
该组件用于在给定范围内选择一个或多个值,常用于音量调节、亮度调节、价格区间筛选等场景。
- 支持单值选择和范围选择
- 支持设置步长和刻度显示
- 支持垂直模式
- 可自定义滑轨颜色
注意
该组件在不同平台上的表现可能存在细微差异,请以实际效果为准。
平台差异说明
| App(vue) | App(nvue) | H5 | 小程序 |
|---|---|---|---|
| √ | √ | √ | √ |
基本使用
- 通过
v-model绑定滑动选择器的值,默认值为0。 - 通过
min和max设置取值范围,默认为0~100。
html
<see-slider v-model="value" />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(30);
</script>1
2
3
4
5
6
2
3
4
5
6
范围选择
- 通过设置
isRange为true来启用范围选择模式。 - 此时
v-model绑定值应为一个数组,如[20, 80]。
html
<see-slider v-model="value" isRange />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref([20, 80]);
</script>1
2
3
4
5
6
2
3
4
5
6
步长和刻度
- 通过
step设置步长。 - 通过设置
isShowStep为true来显示刻度标记。
html
<see-slider v-model="value" :step="10" isShowStep />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(40);
</script>1
2
3
4
5
6
2
3
4
5
6
显示当前值
- 通过设置
isShowValue为true来在滑块旁显示当前值。
html
<see-slider v-model="value" isShowValue />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(50);
</script>1
2
3
4
5
6
2
3
4
5
6
垂直模式
- 通过设置
isVertical为true来切换为垂直模式。
html
<see-slider v-model="value" isVertical style="height: 200px;" />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(30);
</script>1
2
3
4
5
6
2
3
4
5
6
自定义颜色
- 通过
activeColor设置已选中部分的滑轨颜色。 - 通过
inactiveColor设置未选中部分的滑轨颜色。
html
<see-slider v-model="value" activeColor="#07c160" inactiveColor="#eee" />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(60);
</script>1
2
3
4
5
6
2
3
4
5
6
禁用状态
- 通过设置
isDisabled为true来禁用滑动选择器。 - 禁用状态下,拖动事件不会触发,且样式会变灰或降低透明度。
html
<see-slider v-model="value" isDisabled />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(50);
</script>1
2
3
4
5
6
2
3
4
5
6
只读状态
- 通过设置
isReadonly为true来设置滑动选择器为只读状态。 - 只读状态下,拖动事件不会触发,但样式保持不变。
html
<see-slider v-model="value" isReadonly />
<script lang="ts" setup>
import { ref } from 'vue';
const value = ref(50);
</script>1
2
3
4
5
6
2
3
4
5
6
API
Props
| 参数名 | 说明 | 类型 | 默认值 | 可选值 | 平台差异 |
|---|---|---|---|---|---|
| modelValue | 绑定值 | number | number[] | 0 | - | - |
| min | 最小值 | number | 0 | - | - |
| max | 最大值 | number | 100 | - | - |
| step | 步长 | number | 1 | 任意正数 | - |
| isDisabled | 是否禁用 | boolean | false | true、false | - |
| isReadonly | 是否只读 | boolean | false | true、false | - |
| isRange | 是否为范围选择 | boolean | false | true、false | - |
| isVertical | 是否为垂直模式 | boolean | false | true、false | - |
| barHeight | 滑轨高度(px) | number | 4 | 任意正数 | - |
| activeColor | 已选中部分的滑轨颜色 | string | - | 任意 CSS 颜色值 | - |
| inactiveColor | 未选中部分的滑轨颜色 | string | - | 任意 CSS 颜色值 | - |
| isShowValue | 是否显示当前值 | boolean | false | true、false | - |
| isShowStep | 是否显示刻度标记 | boolean | false | true、false | - |
| size | 尺寸 | "small" | "default" | "large" | 'default' | small、default、large | - |
| name | 表单字段名 | string | '' | - | - |
Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| onChange | 值变化时触发 | value: 当前值 |
| onDragStart | 开始拖动滑块时触发 | value: 当前值 |
| onDragEnd | 结束拖动滑块时触发 | value: 当前值 |
