收藏
回答

setting data field "xxx" to undefined

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug Android flyme 魅蓝m3 6.6.6

正常获得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 个回答

  • 刘耀煊
    刘耀煊
    2019-05-23

    请问,问题解决了么

    2019-05-23
    赞同
    回复
  • yhding
    yhding
    2019-04-04

    我遇到过同样的问题:

    场景:

    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,

          }

        }

      }


    }
    ...


    2019-04-04
    赞同
    回复
  • 李兴旺556
    李兴旺556
    2018-05-24

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

    2018-05-24
    赞同
    回复
登录 后发表内容