小程序采坑系列之this.setData({key:value})动态修改里面的key

今天写小程序踩了个大坑,坑里还全是刺儿。

data: {
  money: [true,true,true,true,true,true,true,true,true]
}

如上代码,动态修改money里面指定某个下标的值该怎么办?
看代码:

click: function(e) {
  var index =  e.terget.index  //获取点击的下标
  var aaa = "money["+ index +"]" //重点,组合一个字符串
  this.setData({
    [aaa]: false  //给字符串加个中括号即可
  })
}

ps:如果数组里的是很多个对象,动态修改money里面指定某个对象的key的值该怎么办?

data: {
  money: [
    {
       key: true
    },
    {
       key: true
    },
    {
       key: true
    },
  ]
}

只需修改上面的这一句即可:

   var aaa = "money["+ index +"].key"

百度上是说this.setData({key: value})里面的key不能动态修改,value可以动态修改,折腾了一上午,终于弄好了,写篇博客记录一下,以防下次忘记。

你可能感兴趣的:(小程序采坑系列之this.setData({key:value})动态修改里面的key)