微信小程序--更改数组中的该条数据的字段

处理数据

在这里插入图片描述

//(1)wxml
<view style="margin: 40rpx 100rpx;">
  <view wx:for='{{list}}'  wx:for-item='item'  wx:key='index' class="row" >
    <view  data-index='{{index}}' data-collet='{{item.ifCollet}}' bindtap="selectFruitClick">
      <!-- 1是收藏,0是取消 -->
      <view style="background-color:{{item.ifCollet=='1'?'red':'white'}}" class="collet"></view>
      <view>{{item.num}}</view>
    </view>
  </view>
</view>
//(2)js
// pages/shop/index.js
Page({
  data: {
    list:[
      {ifCollet:'0',num:99},
      {ifCollet:'1',num:1},
    ],
   
  },
  selectFruitClick(e){

    let index = e.currentTarget.dataset.index
    //初始化 收藏状态
    let colletStatus = e.currentTarget.dataset.collet;
    
    //把list中的字段接过来,更新时用[],更新该下标时的字段  
    //list[3].num 点击该条数据的num
    let ifCollet = "list[" + index + "].ifCollet";
    let num = "list[" + index + "].num";

    //1是收藏,0是取消
    this.setData({
       [ifCollet]: colletStatus == '0'?'1': '0',  //相当于取反
        [num]: this.data.list[index].num + (colletStatus == '0' ? 1 : -1)
        //list数组中的num:原值 +1 或 -1  =>收藏+1, 取消-1
    })
  },
 })
//(3)css
.collet{
  width:50rpx;
  height:50rpx;
  border-radius: 50%;
  border:1rpx solid black;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值