liyinSakura


稻花香里说丰年,听取人生经验。


微信小程序slider应用:可加减的slider控制

页面结构代码

1
2
3
4
5
6
7
8
9
10
11
12
13
<view class="control-w ">
<block wx:for="{{controls}}" wx:key="id" wx:for-item="v">
<view class="slide-item">
<view class="itemName">{{v.name}}</view>
<view class="slidewrap">
<text class="s-con" data-id="{{v.id}}" bindtap="minusCount">-</text>
<slider class="slide" bindchange="sliderchange" step="10" value="{{v.value}}" data-id="{{v.id}}" max="{{v.max}}" min="0" wx:if="{{index<3}}" />
<slider class="slide" bindchange="sliderchange" step="10" value="{{v.value}}" data-id="{{v.id}}" max="{{v.max}}" min="0" wx:if="{{index==3}}" />
<text class="s-con" data-id="{{v.id}}" data-max="{{v.max}}" bindtap="addCount">+</text>
</view>
</view>
</block>
</view>

js部分

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
Page({
data: {
controls: [
{
id: 1,
name: '功能一',
value: 30,
max: 60
},
{
id: 2,
name: '功能二',
value: 30,
max: 60
},
{
id: 3,
name: '功能三',
value: 30,
max: 60
},
{
id: 4,
name: '功能四',
value: 50,
max: 100
}
]
},
// 控制加
addCount: function (event) {
let data = event.currentTarget.dataset
let controls = this.data.controls
let control = controls.find(function (v) {
return v.id == data.id
})
let control1 = controls.find(function (v) {
return v.max == data.max
})
  
if (control.value > control1.max)
return
control.value += 10;
this.setData({
'controls': controls
})
},
// 控制减
minusCount: function (event) {
let data = event.currentTarget.dataset
let controls = this.data.controls
let control = controls.find(function (v) {
return v.id == data.id
})
if (control.value <= 0)
return
control.value -= 10;
this.setData({
'controls': controls
})
},
//拖动
sliderchange: function (e) {
let data = e.currentTarget.dataset
let controls = this.data.controls
let control = controls.find(function (v) {
return v.id == data.id
})
this.setData({
'controls': controls
})
}
})