欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

小程序開發(fā)中實現(xiàn)電商購物車邏輯的方法

這篇文章給大家分享的是有關小程序開發(fā)中實現(xiàn)電商購物車邏輯的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為商都企業(yè)提供專業(yè)的網(wǎng)站設計、成都網(wǎng)站設計,商都網(wǎng)站改版等技術服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

給大家分享一個關于小程序購物車全選的邏輯處理,這個還是要感謝我的老妹教導我,一個開發(fā)人員做東西一定要嚴謹,不管UI設計的有多丑,該有的邏輯你一定要做到。

小程序開發(fā)中實現(xiàn)電商購物車邏輯的方法cdn.xitu.io/2018/5/29/163aa02a3b1fbc66?imageView2/0/w/1280/h/960/format/webp/ignore-error/1">

首先我們要做到的就是,當用戶點擊第三個商品時 全選按鈕自動選中,或者全選之后,只要有一個商品不選中,全選按鈕也得變動。先給大家看一下代碼:

你要在頁面onload時候定義一些你需要每次渲染的數(shù)據(jù)

data: {
likeList: [],
carts:[], // 購物車列表
hasList:false, // 列表是否有數(shù)據(jù)
//totalPrice:0, // 總價,初始為0
selectAllStatus:false, // 全選狀態(tài),默認全選,
goodsNums:0,
allclick:[]
}
每件商品單個選中的的邏輯處理
selectList(e) {
  const index = e.currentTarget.dataset.index;// 獲取每一個點擊的購物車ID  let carts = this.data.carts,
  selected = carts[index].select,
  all = this.data.allclick;
  carts[index].select = !selected;
carts[index].select == true ? all.push(index):all.splice(index,1);
all.length == carts.length ?
this.setData({
  selectAllStatus: true}):this.setData({
  selectAllStatus: false});
  this.getTotalPrice();
},
  • 上面的代碼,先做的就是單選的頁面渲染效果。判斷部分的代碼就是最主要的處理全選邏輯的一步。相信你看到這里也注意到我在data里定義了一個allclick的空數(shù)組,然后就是接下來的邏輯:

  • 按鈕選中時取出對應item的角標放到新的arr里,這里因為我之前結算的邏輯已經(jīng)搞好了,我就隨便往數(shù)組里push數(shù)據(jù),但其實可以作為對應商品的更重要的一些數(shù)據(jù)處理。

  • 按鈕不選中是從新的arr里找到這個item對應下標的數(shù)據(jù)移除

  • 完成上面兩步處理之后,每次按鈕狀態(tài)發(fā)生變化的時候判斷arr的長度和cart的長度。

這就是我的處理,也可循環(huán),實現(xiàn)的方式有很多,只是拿出來讓沒有接觸過的小伙伴做個參考~

data: {
likeList: [],
carts:[], // 購物車列表
hasList:false, // 列表是否有數(shù)據(jù)
//totalPrice:0, // 總價,初始為0
selectAllStatus:false, // 全選狀態(tài),默認全選,
goodsNums:0,
allclick:[]
}
每件商品單個選中的的邏輯處理
selectList(e) {
  const index = e.currentTarget.dataset.index;// 獲取每一個點擊的購物車ID  let carts = this.data.carts,
  selected = carts[index].select,
  all = this.data.allclick;
  carts[index].select = !selected;
carts[index].select == true ? all.push(index):all.splice(index,1);
all.length == carts.length ?
this.setData({
  selectAllStatus: true}):this.setData({
  selectAllStatus: false});
  this.getTotalPrice();
},
  • 這段代碼也還是先處理全選的狀態(tài),然后就是關聯(lián)狀態(tài)的處理,

  • 當全選沒有勾選的時候全部改變商品信息里的按鈕為false,直接清空allclick數(shù)組。

  • 當全選勾選的時候全部改變商品信息里的按鈕為true,先清空,接著重新push,再賦值。

經(jīng)過這幾步操作之后就解決了全選這方面的所有邏輯

感謝各位的閱讀!關于小程序開發(fā)中實現(xiàn)電商購物車邏輯的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當前名稱:小程序開發(fā)中實現(xiàn)電商購物車邏輯的方法
本文網(wǎng)址:http://www.chinadenli.net/article28/piehjp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號網(wǎng)站內(nèi)鏈虛擬主機商城網(wǎng)站云服務器App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司