# Slider 滑杆
请扫码查看示例
# 介绍
滑动输入条,用于在给定的范围内选择一个值。
# 引入
通过以下方式来引入组件
- 使用包管理器安装mui-minix 组件库。如: npm i mui-minix -S;
- 在要使用该组件的页面中使用element标签引入该组件。
# 代码演示
# 基本用法
<element name="m-slider" src="@/node_modules/mui-minix/src/slider/index"></element>
<m-slider value="{{v1}}" @m-change="onChange"></m-slider>
1
2
2
export default {
data(){
return {
v1: 36
}
},
onChange(e){
this.v1 = e.detail
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 刻度
通过配置 scales
属性,可以添加刻度信息
<element name="m-slider" src="@/node_modules/mui-minix/src/slider/index"></element>
<div>
<m-slider class="m-b-30" value="{{v1}}" scales="{{scales1}}" @m-change="onChange1"></m-slider>
<m-slider class="m-b-30" value="{{v2}}" scales="{{scales2}}" min="{{1}}" max="{{4}}" @m-change="onChange2"></m-slider>
</div>
1
2
3
4
5
2
3
4
5
export default {
data(){
return {
v1: 36,
v2: 2,
scales1:[
{
text:'0%',
value:0
},
{
text:'25%',
value:25
},
{
text:'50%',
value:50
},
{
text:'75%',
value:75
},
{
text:'100%',
value:100
}
],
scales2:[
{
text:'低',
value:1
},
{
text:'中',
value:2
},
{
text:'高',
value:3
},
{
text:'强',
value:4
}
]
}
},
onChange1(e){
this.v1 = e.detail
},
onChange2(e){
this.v2 = e.detail
}
}
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
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
.m-b-30{
margin-bottom:30px;
}
1
2
3
2
3
# 主题颜色
通过配置 theme
属性,更改主题颜色。 默认为 brand
<element name="m-slider" src="@/node_modules/mui-minix/src/slider/index"></element>
<div>
<m-slider class="m-b-30" theme="purple" value="{{v1}}" scales="{{scales1}}" @m-change="onChange1"></m-slider>
<m-slider class="m-b-30" theme="cyan" value="{{v2}}" scales="{{scales2}}" min="{{1}}" max="{{4}}" @m-change="onChange2"></m-slider>
</div>
1
2
3
4
5
2
3
4
5
export default {
data(){
return {
v1: 36,
v2: 2,
scales1:[
{
text:'0%',
value:0
},
{
text:'25%',
value:25
},
{
text:'50%',
value:50
},
{
text:'75%',
value:75
},
{
text:'100%',
value:100
}
],
scales2:[
{
text:'低',
value:1
},
{
text:'中',
value:2
},
{
text:'高',
value:3
},
{
text:'强',
value:4
}
]
}
},
onChange1(e){
this.v1 = e.detail
},
onChange2(e){
this.v2 = e.detail
}
}
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
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
.m-b-30{
margin-bottom:30px;
}
1
2
3
2
3
# 自定义滑条颜色
通过配置 bar-color
属性,可以更改滑条颜色
<element name="m-slider" src="@/node_modules/mui-minix/src/slider/index"></element>
<div>
<m-slider class="m-b-30" bar-color="#ff8225" value="{{v1}}" scales="{{scales1}}" @m-change="onChange1"></m-slider>
<m-slider class="m-b-30" bar-color="#ff3b30" value="{{v2}}" scales="{{scales2}}" min="{{1}}" max="{{4}}" @m-change="onChange2"></m-slider>
</div>
1
2
3
4
5
2
3
4
5
export default {
data(){
return {
v1: 36,
v2: 2,
scales1:[
{
text:'0%',
value:0
},
{
text:'25%',
value:25
},
{
text:'50%',
value:50
},
{
text:'75%',
value:75
},
{
text:'100%',
value:100
}
],
scales2:[
{
text:'低',
value:1
},
{
text:'中',
value:2
},
{
text:'高',
value:3
},
{
text:'强',
value:4
}
]
}
},
onChange1(e){
this.v1 = e.detail
},
onChange2(e){
this.v2 = e.detail
}
}
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
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
.m-b-30{
margin-bottom:30px;
}
1
2
3
2
3
# 自定义刻度文本
通过配置 scale-text-color
属性,可以配置刻度文本颜色
<element name="m-slider" src="@/node_modules/mui-minix/src/slider/index"></element>
<div>
<m-slider class="m-b-30" scale-text-color="#995efc" theme="warning" value="{{v1}}" scales="{{scales1}}" @m-change="onChange1"></m-slider>
<m-slider class="m-b-30" scale-text-color="#00cbb8" theme="success" value="{{v2}}" scales="{{scales2}}" min="{{1}}" max="{{4}}" @m-change="onChange2"></m-slider>
</div>
1
2
3
4
5
2
3
4
5
export default {
data(){
return {
v1: 36,
v2: 2,
scales1:[
{
text:'0%',
value:0
},
{
text:'25%',
value:25
},
{
text:'50%',
value:50
},
{
text:'75%',
value:75
},
{
text:'100%',
value:100
}
],
scales2:[
{
text:'低',
value:1
},
{
text:'中',
value:2
},
{
text:'高',
value:3
},
{
text:'强',
value:4
}
]
}
},
onChange1(e){
this.v1 = e.detail
},
onChange2(e){
this.v2 = e.detail
}
}
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
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
.m-b-30{
margin-bottom:30px;
}
1
2
3
2
3
# Api
# Prop
字段 | 说明 | 类型 | 默认值 | 是否必须 |
---|---|---|---|---|
value | 当前值 | number | 0 | 是 |
min | 最小值 | number | 0 | 否 |
max | 最大值 | number | 100 | 否 |
step | 步长 | number | 1 | 否 |
disabled | 禁用状态 | boolean | false | 否 |
readonly | 是否只读 | boolean | false | 否 |
track-height | 滑轨高度 | number | 20 | 否 |
track-color | 滑轨背景颜色 | string | #f2f2f2 | 否 |
track-border-radius | 滑轨圆角半径 | number | 0 | 否 |
bar-height | 填充块高度 | number | 0 | 否 |
bar-border-radius | 填充块圆角半径 | number | 0 | 否 |
bar-color | 填充块背景颜色 | string | - | 否 |
dot-size | 填充块最右侧圆点尺寸 | number | 12 | 否 |
dot-color | 填充块最右侧圆点背景颜色 | string | #ffffff | 否 |
dot-top | 填充块最右侧圆点顶部距离填充块长度 | number | 0 | 否 |
dot-right | 填充块最右侧圆点右侧距离填充块长度 | number | 0 | 否 |
theme | 主题颜色 | string | brand | 否 |
scales-height | 刻度容器高度 | number | 14 | 否 |
scales-margin-top | 刻度容器距离滑轨的距离 | number | 8 | 否 |
scales | 刻度 | Scale[] | [] | 否 |
scale-text-size | 刻度文本字体大小 | number | 10 | 否 |
scale-text-color | 刻度文本颜色 | string | #8a8a8f | 否 |
# Events
名称 | 说明 | 回调参数 |
---|---|---|
m-input | 滑块位置变化时触发 | value: string |
m-change | 滑块位置变化,且与起始滑动式位置不同时触发 | value: string |