
一、从网络上传入以下Json数据格式的数组 1.购物车id:cid 2.标题title 3.数量num 4.图片地址 5.价格price 6.小计 7.是否选中selected
二、点击复选框toggle *** 作 如已经选中的,经点击变成未选中,反之而反之 点击依据index作为标识,而不用cid,方便遍历
三、全选 *** 作 首次点击即为全部选中,再次点击为全不选,全选按钮本身也跟随toggle变换
四、点击结算按钮,将已选中的cid数组取出,以供通过网络提交到服务端,这里给个toast作为结果演示。
五、利用stepper作加减运算,同样依据index作为标识,点完写回num值。
六、布局,全选与结算按钮底部对齐,购物车商城自适应高度,类似于Android的weight。
微信小程序的购物车功能在商品列表页
index.wxml
中,给下单按钮绑定一个添加购物车的事件
addCart
,使用
catchtap
是不会冒泡,同时传入
data-item
,当前的商品,代码如下所示:
1
<view class="order" catchtap="addCart" data-item="{{ item }}">下单</view>
在
index.js
中,在
Page
中,定义
addCart
事件。对此,可以分析一下当点击按钮以后添加购物车的逻辑:
拿到点击要添加入到购物车的商品
判断该商品在不在购物车里面
如果不在, 把该商品添加到购物车里面, 并且新加一个字段
num = 1
如果在,修改改商品的
num
值 累加
在
addCart
中,第一步拿到该商品,通过
e.currentTarget.dataset
获取。第二步,判断该商品在不在购物车里面,根据
_id
尝试从购物车里面获取数据,看能不能获取的到。使用
try...catch
,在有值的情况下,把购物车里面的该商品的
num
值累加
,并且进行下单成功的提示;在没有值,把商品添加到购物车里面,并且进行下单成功的提示,最后调用
setTabBar()
方法修改底部购物车
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)