微信小程序setData如何动态修改数组?

有一数组menus=[0,0,0,0],如果我们想修改menus数组的第2个值
的话,我们可以直接根据数组的键值修改,如下:

this.setData({
  menus[1]:1//修改后的menus=[0,1,0,0],这里我们知道了具体的键值
});

但是如果这个键值是个动态的值的话,我们该如何修改呢?

let index =  1;
this.setData({
       menus[index]:1  //  此方法不行
});

如果按照上边的方法肯定不行,可以安照下边的方法:

Page({
  data: {
    menus:[0,0,0,0]
  },
  //事件处理函数
  changeMenus: function(e){
    let index = e.currentTarget.id;//如果这里取得的index=1,那么此函数运行后menus=[0,1,0,0]
    let curMenu= "menus["+index+"]";
    this.setData({
       [curMenu]:1
    });
  }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,260评论 19 139
  • 有个痴情女孩上电视去控诉一个渣男,那男人确实是渣,在现场表现更是渣得粉碎,情感专家和主持人都看不下去,劝女孩早分早...
    媛苏阅读 1,076评论 0 1
  • “亲密”这个结果只能通过真实和敞开来达到,而“付出”并没有这个功效。相反,因为你不断付出,会给对方造成内疚,结果导...
    失宠大鸡排阅读 353评论 0 0
  • 那些不爱养花的理由 我历来不爱养花,理由N多。 第一,见多了,不需要。从小生活在山间,目之所及处,尽是花草鸟树。再...
    朴朴纳蓝阅读 472评论 2 4
  • 十一长假心怒放, 趁早约骑老母荒。 发在群里无搭腔, 逐个问询都说忙。 看来又要耍单帮, 起早单车把路上。 勇者无...
    太阳999阅读 827评论 0 0