删除购物车单项deleteOne: function (e) { var id = e.currentTarget.dataset.id; var index = e.currentTarget.dataset.index; var arr = wx.getStorageSync('cart') for (var i in this.data.foodList) { if (this.data.foodList[i].id == id) { this.data.foodList[i].quantity = 0; } } arr.splice(index, 1); if (arr.length <= 0) { this.setData({ foodList: this.data.foodList, cartList: [], cartFlag: false, totalNum: 0, totalPrice: 0, }) this.cascadeDismiss() } try { wx.setStorageSync('cart', arr) } catch (e) { console.log(e) } this.setData({ cartList: arr, foodList: this.data.foodList }) this.getTotalPrice() },
时间: 2024-04-28 07:27:14 浏览: 98
微信小程序wx.previewImage预览图片实例详解
这段代码是用来删除购物车中的单个商品项的。首先,它从当前点击的item中获取商品id和索引位置。然后,它从本地缓存中获取购物车商品列表,遍历所有的食品列表,如果商品id与当前点击的id匹配,那么就将该商品的数量设置为0,表示该商品已从购物车中移除。接着,它从购物车商品列表中删除当前点击的商品项,并更新本地缓存中的购物车商品列表。如果购物车商品列表为空,那么就清空购物车,并将购物车状态标记为关闭状态,并调用cascadeDismiss()方法隐藏购物车界面。最后,它更新购物车商品列表和食品列表,并重新计算购物车中商品的总价。
阅读全文