当前位置:   article > 正文

微信小程序 列表渲染,数组更新_小程序wx:for更新数据

小程序wx:for更新数据

我们先来看一下背景:

这个是一个列表页面,需要实现的是,对应的商品数量可以修改的,那么也就是我点击上面的+

号的时候,数量依次递增
我们先来分析一下,这两行商品是通过数组渲染的,点击加号修改的数量,其实是修改的数组中的元素,并且我们还需要确定修改的数组的那一行的元素

我们来看列表代码:

  1. <checkbox-group bindchange="checkboxChange">
  2. <view wx:for="{{goodsList}}" wx:for_item="item" wx:key="index" class="goods_item">
  3. <checkbox value="{{item.rowguid}}" style="position: relative;top: -45px;"></checkbox>
  4. <image src="{{item.picurl}}" lazy-load="true" mode="heightFix" ></image>
  5. <text class="goods_title">{{item.goodsname+"..."}}</text>
  6. <text class="goods_ggxh">{{item.ggxhname}}</text>
  7. <text class="goods_price">¥{{item.buyprice}}</text>
  8. <view class="goods_addnum">
  9. <button size="mini" data-index="{{index}}" bindtap="subBookNum">-</button>
  10. <input class="ggxh_num_input" type="number" value="{{item.buynum}}"> {{item.buynum}} </input>
  11. <button size="mini" data-index="{{index}}" bindtap="addBookNum">+</button>
  12. </view>
  13. </view>
  14. </checkbox-group>

<button size="mini" data-index="{{index}}" bindtap="addBookNum">+</button>

这个是点击+号对应的按钮,增加一个属性data-index ="{{index}}"  这个是数组的行索引,当点击按钮的时候,我知道需要对数组那一行的元素进行 更新

对应的事件:addBookNum

  1. addBookNum:function(e){
  2. let index=e.currentTarget.dataset.index;
  3. let buynum=this.data.goodsList[index].buynum;
  4. let f = 'goodsList[' + index + '].buynum'
  5. this.setData({
  6. [f]:buynum+1
  7. })
  8. },

可以看出的是,当点击+号按钮的时候,首先是获取到当前点击行的索引,然后获取到数组中对应的元素,并获取到当前的数量,最后对数量进行更新

响应的点击-号,也是这样进行操作

代码:

  1. subBookNum:function(e){
  2. let index=e.currentTarget.dataset.index;
  3. let buynum=this.data.goodsList[index].buynum;
  4. let f = 'goodsList[' + index + '].buynum'
  5. if(buynum>1){
  6. this.setData({
  7. [f]:buynum-1
  8. })
  9. }
  10. },
  11. addBookNum:function(e){
  12. let index=e.currentTarget.dataset.index;
  13. let buynum=this.data.goodsList[index].buynum;
  14. let f = 'goodsList[' + index + '].buynum'
  15. this.setData({
  16. [f]:buynum+1
  17. })
  18. },

希望对你有所帮助

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/90077
推荐阅读
相关标签
  

闽ICP备14008679号