小程序采坑系列之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可以动态修改,折腾了一上午,终于弄好了,写篇博客记录一下,以防下次忘记。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容