微信小程序中修改数据(单个数据,数组)

微信小程序有自己的语法,修改数据我们必须要使用setData(),参数是一个key,value形式的对象。一下是我做的一个关于修改几种数据的小小记录:
1.修改单个值:

page({
  data:{
    resultOpacity:true,
  },
  change(e){
    this.setData({
     resultOpacity: false,
    })
  }
})

2.修改整个数组:

Page({
  data: {
    imgList:[
      {
        words:"这里放文字1",
        number:12555,//票数
        isSelect:false,//判断是否已经投票
      },
      { 
        words: "这里放文字2",
        number: 18458,//票数
        isSelect: false,//判断是否已经投票
      },
    ],
  },

  onLoad: function () {
     var that = this;
     let newimgList =[];
     newimgList.push({
         number:that.data.imgList[index].number
    })
      that.setData({
         imgList:newimgList
      })   
  },
  })
 

3.修改数组中的变量:
key值为变量的时候要用[ ]引起来。

vote:function(e){
    var that = this;
    var index = e.currentTarget.dataset.id;//获取当前投票的下标
    var newData = 'imgList[' + index + '].number';
    var isSelect = 'imgList[' + index + '].isSelect';
    var selected = that.data.imgList[index].isSelect
    
    //判断如果没有投票才能投
    if (selected ==false){
      that.setData({
        //key值为变量的时候要用[ ]引起来
        [newData]: that.data.imgList[index].number + 1,
        [isSelect]: true
      })
      wx.showToast({
        title: '投票成功!',
        icon: 'none',
        duration: 1000
      })
    }else{
      wx.showToast({
        title: '你已经投过票了,不能再投',
        icon: 'none',
        duration: 1000
      })
    } 
  }

4.修改数组中的某条数组:
修改数组中的某条数据时,key值必须要带’’(单引)号。

vote: function (e) {
    var that = this;
    var index = e.currentTarget.dataset.id;//获取当前投票的下标
    var newData = 'imgList[' + index + '].number';
   
    that.setData({
      'imgList[0].number': that.data.imgList[index].number+1
    })
   
  },

微信小程序中修改数据(单个数据,数组)_第1张图片

你可能感兴趣的:(微信小程序)