顯示的內(nèi)容有商品圖片,商品名稱,商品參數(shù),庫存,價(jià)格,購買的數(shù)量,商品總價(jià),是否選擇等功能,當(dāng)用戶購買的點(diǎn)擊增加數(shù)量或者填寫的數(shù)量超過商品的庫存時(shí),會(huì)有出現(xiàn)以下提示:
如果用戶需要?jiǎng)h除當(dāng)前購物車的商品,可以有兩種選擇:一是用手指長(zhǎng)按商品列表的商品一小段時(shí)間,兩是向左滑動(dòng),彈出提示如下圖所示:
然后點(diǎn)擊刪除按鈕來進(jìn)行對(duì)購買車商品的刪除。
其中長(zhǎng)按使用的是bindlongtap事件,而滑動(dòng)刪除是使用小程序自帶的movable-view控件,movable-view控件可以在微信小程序的官方教程里查到使用的方法。
還有全選的功能,這個(gè)比較簡(jiǎn)單,跟網(wǎng)站版的很類似,但要注意的細(xì)節(jié)是,如果點(diǎn)擊擊某個(gè)商品讓其處于非選中狀態(tài),則更新全選的狀態(tài)為非選中狀態(tài),反之,如果所有的商品都處于選中狀態(tài),則更新例行的狀態(tài)為選中狀態(tài)。一般我們只在“全選”的按鈕里處理全選與反選的狀態(tài),所以需要注意下,當(dāng)選中或反選某個(gè)商品時(shí),應(yīng)該循環(huán)遍歷判斷所有商品的選中狀態(tài),至少有一個(gè)是非選中狀態(tài),則全選的狀態(tài)為非選中。如下圖所示:
上面說了長(zhǎng)按可以刪除商品,如果是點(diǎn)擊某個(gè)商品,則跳轉(zhuǎn)商品詳情頁面里,點(diǎn)擊或長(zhǎng)按可以根據(jù)時(shí)間來判定,bindtouchstart="mytouchstart" bindtouchend="mytouchend"
即touch_end與tou_start的時(shí)間差值,單為毫秒,例如可以判斷兩者相差小于0.35秒,則為點(diǎn)擊,然后觸發(fā)點(diǎn)擊事件,即跳轉(zhuǎn)到商品詳情,反之則觸發(fā)長(zhǎng)按事件。
這就是小程序購物車一些要注意的細(xì)節(jié)問題,如果都做到了給用戶的體驗(yàn)會(huì)更好。