介绍
在微信小程序中怎么实现一个购物车功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>功能描述强>
1,可单选,全?取消全选
2,增加,减少,手动编辑商品的数量
3,根据商品的数量统计价格,
<强>代码实现强>
此处省略一万字,废话不多说,直接上代码吧!
WXML静态布的局,绑定“死”数据(主要功能代码)
& lt; view 类=發ist"比; ,& lt; block  wx:=皗{dataArr}},,天气:关键=癷ndex",天气:项=癷tem"比; & lt;才能view 类=發i clearfix"比; & lt;才能!——,单品选择按钮,——比; & lt;才能view 类=癱heck",天气:如果=皗{item.selected}}“, bindtap=皊electList",材料指数=皗{指数}}“祝辞& lt; text 类=癷confont icon-dagou"祝辞& lt;/text> & lt;/view> & lt;才能view 类=癱heck",天气:else bindtap=皊electList",材料指数=皗{指数}}“祝辞& lt; text 类=癷confont icon-choose"祝辞& lt;/text> & lt;/view> , & lt;才能view 类=癷mg fl"祝辞& lt; https://www.yisu.com/zixun/image src=" {{item.image}} "模式=" aspectFill "> 图像> 视图> <视图类=癴r”> <视图类="标题ellipsis-2 "> {{item.title}} 视图> <!——增加减少编辑数量- -> <视图类=" num_w clearfix "> <视图类=癴l bindtap=癿inusCount”材料指数="{{指数}}"> - 视图> <视图类=" fl num "> 视图> <视图类=癴l bindtap=癮ddCount”材料指数="{{指数}}"> + 视图> 视图> <视图类="价格">¥{{item.price}} 视图> 视图> 视图> 块> 视图> <视图类="底部clearfix "> <!——全?取消全选按钮- -> <视图类=凹觳閒l”> <文本类=" iconfont icon-dagou“天气:如果=" {{selectAllStatus}} " bindtap=" selectAll "> 文本> <文本类=" iconfont icon-choose“天气:其他bindtap=" selectAll "> 文本> <文本类=" text ">全选文本> 视图> <视图类="按钮gradientButton fr”> <按钮bindtap=按丶摇?去结算按钮> 视图> <!——总价- -> <视图类=凹鄹駀r”>合计:<文本>¥{{totalPrice}} 文本> 视图> 视图>
wxs:样式有点多,就不放上来啦,需要的可以留下你的邮箱地址哦,
JS:
当页面刚加载进来,当然要先昂秀一下,默认全选,统计购物车里所有商品的价格每分钟:这里建议用昂秀,因为每次进入购物车都需要重新加载数据,而onLoad和onReady只在初始化的时候执行一次。
昂秀(),{ ,this.getTotalPrice (); }
统计总价(该页面还有其它地方需要调用到这个方法)
//,统计总价 getTotalPrice (), { ,//获取购物车列的表 ,let dataArr =, this.data.dataArr; ,let total =, 0; ,//循环列的表 ,(let 小姐:=,0;,i选择商品(单选),通过材料指数=皗{指数}},把当前商品在列表数组中的下标传给事件,在更改单个商品的状态时,也要注意全选的状态,还有重新统计总价。
//,选择事件 selectList (e), { ,//获取数据的背后,传进来的指数 ,let index =, e.currentTarget.dataset.index; ,//获取购物车列的表 ,let dataArr =, this.data.dataArr; ,//获取当前商品的选中状态 ,let selected =, dataArr .selected(指数); ,//改变状态 (指数),dataArr .selected =, !选择; ,this.setData ({ ,dataArr: dataArr ,}); , ,//改变全选状态 ,for (var i=0, i在微信小程序中怎么实现一个购物车功能