收藏
回答

this.setData数组数据更新

data:{

    arr:arr

}


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

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

9 个回答

  • 吃瓜群众
    吃瓜群众
    2018-09-20


    this.setData({

    'arr.name': '小美'

    })

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

      居然可以这样

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

      可以这样吗?

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

      你可以实际测一下

      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
      回复
    查看更多(5)
  • 明天见💍
    明天见💍
    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
      回复
登录 后发表内容