小程序滑動刪除功能及實現(xiàn)方式
小程序滑動刪除功能在應(yīng)用中很常見,一般是向左滑動列表可刪除項目,那么這種形式要如何實現(xiàn)呢?
小程序滑動刪除效果示例
每個列表項綁定touchstart和touchmove事件,監(jiān)聽滑動手勢,確定滑動角度,判斷滑動是否有效 列表數(shù)據(jù)源每一項包含標志值isTouchMove,用來確定此項是否滑動成功 列表項有兩個類,根據(jù)isTouchMove的值來確定渲染那個類 刪除時直接操作數(shù)據(jù)源
touchmove: function (e) {
let index = e.currentTarget.dataset.index,//當前索引
startX = this.data.startX,//開始X坐標
startY = this.data.startY,//開始Y坐標
touchMoveX = e.changedTouches[0].clientX,//滑動變化坐標
touchMoveY = e.changedTouches[0].clientY,//滑動變化坐標
//獲取滑動角度
angle = this.angle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY });
this.data.list.forEach(function (v, i) {
v.isTouchMove = false
//滑動超過30度角 return
if (Math.abs(angle) > 30) return;
if (i == index) {
if (touchMoveX > startX) //右滑
v.isTouchMove = false
else //左滑
v.isTouchMove = true
}
})
// //更新數(shù)據(jù)
this.setData({
list: this.data.list
})
},
HiShop小程序工具提供多類型商城/門店小程序制作,可視化編輯 1秒生成5步上線。通過拖拽、拼接模塊布局小程序商城頁面,所看即所得,只需要美工就能做出精美商城。