国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序實現(xiàn)購物車代碼實例詳解

2024-07-22 01:17:36
字體:
來源:轉載
供稿:網(wǎng)友

其實購物車都是類似的實現(xiàn)方法,只不過小程序是有他的數(shù)據(jù)層和業(yè)務層,在這里把之前的做法記錄一下,分享出來也希望能給需要的小伙伴帶來參考價值在最開始的時候先從本地存儲中獲取購物車數(shù)據(jù),因為我們會切換頁面 在頁面切換的過程中需要實時重新加載購物車的數(shù)據(jù),所以我們把獲取的方法寫在onShow中,而不是onLoad中:

onShow: function () {  const cart = wx.getStorageSync("cart");  let address = wx.getStorageSync("address") ;  console.log(address);  this.setData({   address, cart  })  this.loadCarts();  this.countAll(); }

點擊按鈕更改購物車的數(shù)量:

handleNumEdit(e) {  const { operator, goodsid } = e.target.dataset;  let { cart } = this.data;  cart[goodsid].count += (+operator);  if (cart[goodsid].count < 1) {   cart[goodsid].count = 1;   wx.showModal({    title: '提示',    content: '您確定要刪除嗎',    showCancel: true,    cancelText: '取消',    cancelColor: '#000000',    confirmText: '確定',    confirmColor: '#3CC51F',    success: (result) => {     if (result.confirm) {      delete cart[goodsid];      this.loadCarts();      this.countAll();     } else {     }    }   });  } else if (cart[goodsid].count > cart[goodsid].goods_number) {   cart[goodsid].count = cart[goodsid].goods_number;   wx.showToast({    title: '沒有庫存了',    icon: 'none',    duration: 1500,    mask: true   });  }  this.loadCarts();  this.countAll(); }

加載購物車數(shù)據(jù)的方法:

data: {  cart: {},  address: {},  totalPrice: 0,  categoryLength: 0,  isAllChecked: true },

單個商品被選中時觸發(fā):

loadCarts() {  let { cart } = this.data;  let isAllChecked = true;  for (const key in cart) {   if (cart.hasOwnProperty(key)) {    const element = cart[key];    if (!element.isChecked) {     isAllChecked = false;     break;    }   }  }  this.setData({   cart,   isAllChecked  }); },

全選和反選觸發(fā)的事件:

handleItemChecked(e) {  let { goodsid } = e.target.dataset;  let { cart } = this.data;  let { isChecked } = cart[goodsid];  cart[goodsid].isChecked = !isChecked;  let checkedLength = 0;  for (const key in cart) {   if (cart.hasOwnProperty(key)) {    if (cart[key].isChecked) {     checkedLength++;    }   }  }  const isAllChecked = checkedLength == Object.keys(cart).length;  this.countAll();  this.setData({   isAllChecked  }) },

點擊結算時觸發(fā):

handleItemAllChecked() {  let { isAllChecked } = this.data;  let { cart } = this.data;  isAllChecked = !isAllChecked;  for (const key in cart) {   if (cart.hasOwnProperty(key)) {    cart[key].isChecked = isAllChecked;   }  }  this.setData({   isAllChecked,   cart  })  this.countAll(); },            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉田县| 迁安市| 广宗县| 宁晋县| 厦门市| 正安县| 东丰县| 新竹市| 宁波市| 康保县| 两当县| 昌宁县| 凉山| 越西县| 平果县| 德庆县| 张家界市| 西平县| 拜城县| 怀化市| 环江| 金华市| 天等县| 织金县| 宁强县| 泰来县| 大同市| 卢氏县| 廊坊市| 海淀区| 富源县| 哈尔滨市| 历史| 高碑店市| 太康县| 舒兰市| 涟源市| 顺平县| 措美县| 昭通市| 通城县|