收藏
回答

小程序报错提示“forEach”未定义?

如图所示,下拉页面触发刷新,刷新的过程连带一项任务刷新,但是报错未定义“forEach”,我该怎么修改?

js:
  onPullDownRefresh: function () {


    this.getGoodsList()
  },
  getGoodsList:function(e){
    wx.showLoading({
      title'刷新数据中...',
    })
    db.collection('Orders').where({
      qqaccountthis.data.fuzhi[0].qqaccount
    }).get({
      success:res=>{
        let fuzhi = res.data
        this.setData({
          fuzhi:fuzhi
        })
        wx.stopPullDownRefresh()
      },
      complete:()=>{
        wx.hideLoading()
      }
    })
    this.transfrom()
},
  //校验经验,根据 当前经验 判断显示当前对应的 等级 及 等级图标
  transfrom(fuzhi){
    fuzhi.forEach(element => {  
        if (element.experience <= 456){
          element.level = '列兵1'
          element.pic = 'url'
        }else if (element.experience <= 8026911){
          element.level = '大校 1'
          element.pic = 'url'
        }else if (element.experience <= 8481771){
          element.level = '大校 2'
          element.pic = 'url'
        }
}

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

3 个回答

  • ⅴ
    2022-07-20

    这个不是写成功回调里的吗?

    2022-07-20
    有用 2
    回复 6
    • 
      
      2022-07-20
      没效果呀
      2022-07-20
      回复
    • 
      
      2022-07-20
      2022-07-20
      回复
    • ⅴ
      2022-07-20回复
      打log看一 res.data里是不是你需要的数据
      2022-07-20
      回复
    • ⅴ
      2022-07-20回复
      success里面这么写:


      let fuzhi = this.transfrom(res.data)
      this.setData({
          fuzhi:fuzhi
      })
      wx.stopPullDownRefresh()
      2022-07-20
      1
      回复
    • 
      
      2022-07-20回复
      可以!解决了!谢谢了
      2022-07-20
      回复
    查看更多(1)
  • 茜茜又困了🐽
    茜茜又困了🐽
    2022-07-20

    调用transform方法时没有传值,可以指定形参的默认值

    设置默认值后:

    如果使用方法传参,参数会替换默认值;如果使用方法不传参,参数会使用默认值,这样就避免报错了

    2022-07-20
    有用
    回复 11
    • 
      
      2022-07-20
      楼下两个方法都是解决了不报错的问题,但是this.transform像是没有执行这样不显示内容
      2022-07-20
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-07-20回复
      你的接口访问是需要时间的
      如果把this.transform写在success回调里,直接在()内将fuzhi传过去不行嘛?
      2022-07-20
      回复
    • 
      
      2022-07-20
      2022-07-20
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-07-20回复
      1. transform咋写的
      2. 打印下this.data.fuzhi的值
      2022-07-20
      回复
    • 
      
      2022-07-20回复茜茜又困了🐽
      这样
      2022-07-20
      回复
    查看更多(6)
  • 武曲心
    武曲心
    2022-07-20

    transfrom(fuzhi = []){},补充一句:调用方法不传值和不写是一样效果的

    2022-07-20
    有用
    回复 1
    • 
      
      2022-07-20
      仅不报错而已,还是执行不起来,this.transfrom(this.data.fuzhi) 也是一样的效果,但是运行不起来
      2022-07-20
      回复
登录 后发表内容