赞
踩
未收藏的商品点击 [ 点击 ] 按钮,商品收藏数量 [ 自增1 ],商品状态改为 [ 已收藏 ]。
我是后端,不太会写css,所以在网上找了一个页面 微信小程序商城系列之商品列表页(一),收藏的逻辑是我写的。
不调接口
重新请求数据,而是 直接改变现有的数据内容
,达到 页面实时渲染
的效果。.clear{ clear: both; overflow: hidden; } navigator{ display:inline; } .list{ margin-top:10px; } .list .list_item{ margin-top:10px; padding:10px; height:100px; border-bottom:1px solid #E8E8E8; } .list .list_item .img{ float:left; width:40%; height:100%; } .list .list_item .img image{ width:100%; height:100%; } .list .list_item .info{ width:59%; float:right; height:100px; position:relative; } .list .list_item .info .title{ color:#333; margin-left:10px; font-size: 15px; } .list .list_item .info .price{ margin-left:10px; margin-top:10px; } .list .list_item .info .num{ position: absolute; left:0px; bottom:10px; color:#747474; margin-left:10px; font-size:15px; }
<view class='list'> <block wx:for='{{dataList}}' wx:key='list' wx:for-item="item"> <view class="list_item"> <navigator url='details?id={{item.goods_id}}'> <view class='img'> <image src="{{item.goods_img}}" mode="scaleToFill"/> </view> <view class='info'> <view class='title'>{{item.goods_title}}</view> <view class='price'> <button class="mini-btn" wx:if="{{item.collect_status == 1}}" disabled="true" type="default" size="mini">已收藏</button> <button class="mini-btn" wx:else type="warn" size="mini" bindtap="collect" data-index="{{index}}">收藏</button> </view> <view class='num'>收藏 {{item.goods_collect}}</view> </view> </navigator> <view class='clear'></view> </view> </block> </view>
Page({ //页面的初始数据 data: { page: 1, //默认第一页 page_size: 10, //默认10条数据 page_total: 1, //默认只有1页 dataList: [{ goods_id: 1, goods_title: '商品标题1', goods_img: 'https://img2.baidu.com/it/u=2192782925,2374770702&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=761', goods_collect: 1, collect_status: 1, //1-已收藏;0-未收藏 }, { goods_id: 1, goods_title: '商品标题2', goods_img: 'https://img2.baidu.com/it/u=2192782925,2374770702&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=761', goods_collect: 2, collect_status: 0, //1-已收藏;0-未收藏 }, { goods_id: 1, goods_title: '商品标题3', goods_img: 'https://img2.baidu.com/it/u=2192782925,2374770702&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=761', goods_collect: 4, collect_status: 1, //1-已收藏;0-未收藏 }, { goods_id: 1, goods_title: '商品标题4', goods_img: 'https://img2.baidu.com/it/u=2192782925,2374770702&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=761', goods_collect: 8, collect_status: 0, //1-已收藏;0-未收藏 } ], //商品列表数据 }, collect(e) { //收藏操作 let index = e.currentTarget.dataset.index; //找到这条数据位于的索引 this.setData({ ['dataList[' + index + '].goods_collect']: this.data.dataList[index].goods_collect + 1, //收藏量加1 [`dataList[${index}].collect_status`]: 1, //收藏状态设为已收藏 }); }, //监听页面加载 onLoad(options) { }, //监听页面初次渲染完成 onReady: function () { }, //监听页面显示 onShow: function () { }, //监听页面隐藏 onHide: function () { }, //监听页面卸载 onUnload: function () { }, //用户下拉动作 onPullDownRefresh: function () { }, //页面上拉触底 onReachBottom: function () { }, //点击右上角分享 onShareAppMessage: function () { } })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。