收藏
回答

this.setData数组数据更新

data:{

    arr:arr

}


能不能只改arr中的某一个键对应的值

回答关注问题邀请回答
收藏

9 个回答

  • 2018-09-20


    this.setData({

    'arr.name': '小美'

    })

    2018-09-20
    有用 2
    回复 11
    • 祺爸💎
      祺爸💎
      2018-09-20

      居然可以这样

      2018-09-20
      回复
    • ekko
      ekko
      2018-09-20回复祺爸💎

      可以这样吗?

      2018-09-20
      回复
    • 祺爸💎
      祺爸💎
      2018-09-20回复ekko

      你可以实际测一下

      2018-09-20
      回复
    • 卢霄霄
      卢霄霄
      2018-09-20回复祺爸💎

      我要跟你俩划清界限

      2018-09-20
      回复
    • Ly `
      Ly `
      2018-09-21

      var array=this.data.arr;

      array.name='某某某'

      this.setData({

          arr:array

      })

      要这样.楼上的那个方法不能用的

      2018-09-21
      回复
    查看更多(6)
  • 哄哄
    哄哄
    2018-09-27

    that.data.arr.name 如果是引用类型,有很大的概率会造成数据不一致。

    https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html#pageprototypesetdataobject-data-function-callback

    2018-09-27
    有用
    回复
  • 鸩
    2018-09-25

    以上我已经知道了


    那如果在云函数中呢

    db.co……(event.table.update({

        data:{

            'event.field':event.value

        }

    }

    我传了表 字段 值过来  唯独event.field处不行

    我目前是switch(event.field)   再写不同的数据库更新语句

    2018-09-25
    有用
    回复
  • 睡前原谅一切
    睡前原谅一切
    2018-09-25


    2018-09-25
    有用
    回复
  • 九
    2018-09-25

    https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html#pageprototypesetdataobject-data-function-callback官方

    2018-09-25
    有用
    回复
  • 初心不敢忘
    初心不敢忘
    2018-09-23

    var NAME = 'arr.name'

    this.setData({

    [NAME]: '小美'

    })

    这样就可以了

    2018-09-23
    有用
    回复
  • 老张
    老张
    2018-09-22

    汗,都不知道试一下的吗?什么都不试就跑来问?

    2018-09-22
    有用
    回复
  • 卢霄霄
    卢霄霄
    2018-09-20

    let index = 0

    this.setData({

        ['arr['+index+'].name']: '小美'

    })


    2018-09-20
    有用
    回复
  • 沙骑马
    沙骑马
    2018-09-20

    that.data.arr.name='aaa';

    that.setData({

    arr:arr

    })

    2018-09-20
    有用
    回复 2
    • 哄哄
      哄哄
      2018-09-27

      你写的代码很飘逸。建议你千万不要写 that.data.arr.name。


      如果 arr 是 object

      const arr = this.data.arr;
      arr.name = 'a';
      this.setData({
        arr
      });


      如果 arr 是 Array

      const arr = this.data.arr;
      arr[index].name = 'a';
      this.setData({
        arr
      });


      2018-09-27
      回复
    • 沙骑马
      沙骑马
      2018-09-27回复哄哄

      这有什么区别呢

      2018-09-27
      回复
登录 后发表内容