# 6.7 滑动条(Slider Bar)
选择线性取值范围中某个具体的值(整数),或者选取一个取值范围
# 实例
# 基础用法
<template>
<div class="wrapper">
<scroller class="scroller">
<title title="dof-slider-bar"></title>
<category title="使用案例"></category>
<div class="wrapper">
<div class="demo-container">
<text class="label">单滑块水平选择条</text>
<text class="value-text">取值:{{barValue}}</text>
<dof-slider-bar v-bind="sliderBarCfg1" @update-value="updateValue"></dof-slider-bar>
</div>
<div class="demo-container">
<text class="label">双滑块范围水平选择条</text>
<text class="value-text">取值范围:{{minValue}} --- {{maxValue}}</text>
<dof-slider-bar v-bind="sliderBarCfg2" @update-value="updateValue"></dof-slider-bar>
</div>
<div class="demo-container">
<text class="label">单滑块水平选择条禁用</text>
<dof-slider-bar v-bind="sliderBarCfg3"></dof-slider-bar>
</div>
<div class="demo-container">
<text class="label">双滑块水平范围选择条禁用</text>
<dof-slider-bar v-bind="sliderBarCfg4"></dof-slider-bar>
</div>
</div>
</scroller>
</div>
</template>
<script>
import { DofSliderBar } from 'dolphin-intl-ui'
export default {
components: { DofSliderBar },
data: () => ({
barValue: 0,
minValue: 0,
maxValue: 0,
sliderBarCfg1: {
length: 400,
range: false,
min: 0,
max: 10000,
value: 2000,
defaultValue: 50,
disabled: false
},
sliderBarCfg2: {
length: 500,
range: true,
min: 0,
max: 100,
value: [20, 70],
defaultValue: [30, 60],
disabled: false
},
sliderBarCfg3: {
length: 400,
range: false,
min: 0,
max: 200,
value: 50,
defaultValue: 100,
disabled: true
},
sliderBarCfg4: {
length: 500,
range: true,
min: 0,
max: 200,
value: 20,
defaultValue: [20, 70],
disabled: true
}
}),
created() {
setTitle('SliderBar');
this.barValue = this.sliderBarCfg1.value || this.sliderBarCfg1.defaultValue;
this.minValue = this.sliderBarCfg2.value[0] || this.sliderBarCfg1.defaultValue[0];
this.maxValue = this.sliderBarCfg2.value[1] || this.sliderBarCfg1.defaultValue[1];
},
methods: {
updateValue(value) {
if (typeof value === 'number') {
this.barValue = value;
} else if (value.length && value.length === 2) {
this.minValue = value[0];
this.maxValue = value[1];
}
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Attributes
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
| length | Number | N | 500 | 滑条长度 |
| height | Number | N | 4 | 滑条高度 |
| range | Boolean | N | false | 是否选择范围 |
| min | Number | N | 0 | 滑条最小值 |
| max | Number | N | 100 | 滑条最大值 |
| min-diff | Number | N | 5 | 范围选择时的最小差值 |
| value | Number | Array | N | 0 | 当前取值;range=true 时使用 [min, max] |
| default-value | Number | Array | N | 0 | 初始取值;range=true 时使用 [min, max] |
| disabled | Boolean | N | false | 是否禁用 |
| invalid-color | String | N | '' | 未选中轨道颜色 |
| valid-color | String | N | #00A4F2 | 已选中轨道颜色 |
| disabled-color | String | N | '' | 禁用时已选中轨道颜色 |
| select-range | Array | N | [0, 0] | 范围选择的当前值;通常由组件内部维护,建议使用 update-value 接收变更 |
need-dark-mode | Boolean | N | false | 是否启用 M-dark/T-dark 内置暗黑适配 |
button-color | String | N | '' | 按钮 / 滑块背景色 |
button-border-color | String | N | '' | 滑块边框颜色 |
shadow-color | String | N | '' | 滑块阴影颜色 |
isRTL | Boolean | N | false | 是否启用 RTL(从右到左)布局;默认关闭 ^2.5.10 |
RTL 下最小值位于右端,向左拖动增大数值;范围值和 updateValue 回调仍按 [min, max] 返回,无需反转数组。
设置 :need-dark-mode="true" 可启用内置暗黑配色,主题初始化与构建配置见 接入说明。
颜色属性为空时使用内置配色;业务显式颜色和样式覆盖优先于默认配色,关闭暗黑适配后仍有效。
# Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
updateValue | 滑动过程中的值更新 | 单滑块时为 Number;范围选择时为 [min, max] |