微信小程序,使用setData修改一组数据中的单个属性值的方法

一个页面,有如下的数据:

    data: {
        inputData: {
          avatar:{
            value: '/assets/img/noavatar.png',
            error: false,
            errorText: ''
          },

          nickName:{
            value: '',
            error: false,
            errorText: ''
          },
        }

如果我们使用如下方法修改inputData.nickName.value的时候,

this.setData({
      inputData: {
          nickName:{
            value: '张三',
          },
      }
    })

不仅 error: false, errorText: '' 这两个属性会被清除。而整个data中的其他值也被清除掉了。

那我们怎样才能只修改其实中一个属性值而不影响别的数据和属性呢?

如下,使用单引号即可:

this.setData({
      'inputData.avatar.value': e.detail.userInfo.avatarUrl,
      'inputData.nickName.value': e.detail.userInfo.nickName
    })

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注