如图, 需求,长按加号,数量不断增加, 反之减号不断减少
需要使用 小程序中的长按事件,.bindlongpress, 需要注意的是连续增加一定会用到定时器, 在bindtouchend鼠标一开始需要清理定时器.
html
<image class="reduce img" bindtap='reducesurplus' bindlongpress='reducelongTap' bindtouchend='leave' wx:if="{{imgUrl}}" data-index="{{index}}" src="{{imgUrl}}public/xcxC/houtai/reduce.png"></image>
<input class="num" bindinput='numinput' placeholder='0' data-index="{{index}}" value='{{item.num}}'></input>
<image class="add img" bindtap='addresidue' bindlongpress='addlongTap' bindtouchend='leave' data-index="{{index}}" wx:if="{{imgUrl}}" src="{{imgUrl}}public/xcxC/houtai/add.png"></image>
js
//减少
reducelongTap: function (e) {
var index = e.currentTarget.dataset.index,
_this = this.data;
longTime = setInterval(() => {
if (parseInt(_this.para_list[index].num) == 0) {
clearInterval(longTime)
return;
}
parseInt(_this.para_list[index].num)
_this.para_list[index].num--
this.setData({
para_list: _this.para_list
})
}, 200)
},
//增加
addlongTap: function (e) {
var index = e.currentTarget.dataset.index,
_this = this.data;
longTime = setInterval(() => {
parseInt(_this.para_list[index].num)
_this.para_list[index].num++
this.setData({
para_list: _this.para_list
})
}, 200)
},
leave: function (e) {
clearInterval(longTime)
}