收藏
回答

this.setData数组数据更新

data:{

    arr:arr

}


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

最后一次编辑于  2018-09-20  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

9 个回答

  • 无敌奶爸、啊
    无敌奶爸、啊
    2018-09-20


    this.setData({

    'arr.name': '小美'

    })

    2018-09-20
    赞同 2
    回复 10
    • 祺爸💎
      祺爸💎
      2018-09-20

      居然可以这样

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

      可以这样吗?

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

      你可以实际测一下

      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
      回复