setting data field "xxx" to undefined
发布于 6 年前 作者 huangxiulan 2658 次浏览 来自 问答

正常获得request返回值了(后台log可以看得到),在setData时,开发者工具上是正常的,返回结果显示到页面上,但上传后在手机端打开,报“setting data field “xxx” to undefined is invalid"的错。开发者工具里是没报错的,不知道是什么情况引起的。

返回值如下:{“dataList”:[{“id”:“1”,“user_id”:“12345678901”,“user_name”:“张先生”,“booking_course”:“电子积木”,“booking_status”:“申请成功”,“booking_answer_time”:"",“booking_teacher”:“客服”,“booking_teacher_phone”:“12345678”}]}

开发者工具正常显示数据(下面一行):

手机端的报错(打开调试):

源码是:

Page( {

data: {

courseList:{},

success: function (res) {

that.setData({

courseList: res.data.data

});

}

不知道是什么原因引起的,在开发者工具里正常setdata,在手机上却报错?

哪位先行者帮忙解答下,万分感谢

3 回复

我遇到过同样的问题:

场景:

const a = {}
....
function ({ response }) {
  const { res } = response
  const uid = 'balabala'
  a[uid].results = res
}
...

这个时候会出现楼主的问题。

问题所在:

a => {}

a[uid] => undefined

a[uid].results => ??

给undefined设置results属性会出现楼主问题。

解决:

使用rest运算符

const a = {}
....
function ({ response }) {
  const { res } = response
  const uid = 'balabala'
  a[uid] = {
     ...a[uid] || {},
     results: res,

  }

 // 或者


  a = {

     ...a,

     ...{ 

      [uid]: {

        results: res,

      }

    }

  }


}
...

请问,问题解决了么

请问如何具体解决的?我也遇到同样问题

回到顶部