收藏
回答

setData优化建议

官网文档在使用setData()设置数组对象的某个元素的属性时,是这样的

Page({
  data: {
    array: [{text: 'init data'}],
  },
  changeItemInArray: function() {
    this.setData({
      'array[0].text':'changed data'
    })
  }
})

而在大多实际应用中 对数组中的某个元素的设置是动态的不可能写死

希望可以支持动态修改


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

4 个回答

  • 白开水
    白开水
    2017-10-11

    可以使用 ES6 的模版字符串

    `array[${index}].text`

    2017-10-11
    有用
    回复
  • C.Q.Q
    C.Q.Q
    2018-10-19

    这里可以看看https://juejin.im/post/5bc70e275188255c5f541da1#heading-27

    2018-10-19
    有用
    回复
  • 赵青山
    赵青山
    2017-10-11

    @白开水  这个跟

        this.data.array[index].text = 'haha';

        this.setData({

            array:this.data.array

        })

    相比,性能有提高吗?

    2017-10-11
    有用
    回复
  • oooo 👈
    oooo 👈
    2017-10-11

    我是这样写的 var a={}

    a['ary['+index+']']=123

    this.setData(a)


    希望能帮到你

    2017-10-11
    有用
    回复
登录 后发表内容