收藏
回答

for in循环中,如何根据索引号使用this.setData()?

data中的数据:

data:{

  AccountInfo: {

      Company: null,
      UserName: null,
      PinyinName: null,
      LoginDate: null,

      Remarks: null,

  }

},


代码块使用:

for (let i in this.data.AccountInfo) {
    if (i === 'Remarks') {
        this.setData({
            AccountInfo[i]: value,
        });
    }
}


使用想法:

类似于for循环遍历数组,根据数组的下标来修改对于下标的值;

在小程序中,使用for in 循环,遍历AccountInfo对象的属性,根据属性 key ,通过this.setData()修改页面数据

请问,在this.setData()中,key如何写????

this.setData({
            AccountInfo[i]: value,
        });

这种写法报错,请高手指教。

最后一次编辑于  11-14
回答关注问题邀请回答
收藏

4 个回答

  • 王志鹏
    王志鹏
    11-14
    for (let iin this.data.AccountInfo) {
        if (i === 'Remarks') {
            this.setData({

                ['AccountInfo.'+i]: value

            });
        }
    }


    11-14
    赞同 1
    回复 1
    • ZainIoT
      ZainIoT
      11-14
      谢谢。学习了👍😘
      11-14
      回复
  • 刘科丰🐳
    刘科丰🐳
    11-14

    this.setData({

        [`AccountInfo[${i}]`]:value

    })

    11-14
    赞同 1
    回复 1
    • ZainIoT
      ZainIoT
      11-14
      谢谢。学习了👍😘
      11-14
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    11-14

    var i = 'Remarks'

    this.setData({

        ['AccountInfo.'+i]: value

    });

    11-14
    赞同 1
    回复 1
    • ZainIoT
      ZainIoT
      11-14
      谢谢。学习了👍😘
      11-14
      回复
  • 米法(BINNIE SMILE)
    米法(BINNIE SMILE)
    11-13

    没看明白问题是什么

    11-13
    赞同
    回复 1
    • ZainIoT
      ZainIoT
      11-14
      已修改问题,就是想通过对象的键值 key 刷新页面数据,减少this.setData()一次传输的数据量。
      11-14
      回复
问题标签