1***@qq.com
1***@qq.com
  • 发布:2021-07-29 10:24
  • 更新:2021-08-02 12:37
  • 阅读:710

uni-app编译的微信小程序,不断加载下一页,iOS系统上的微信小程序闪退,并且手机发热

分类:uni-app
2021-07-29 10:24 负责人:无 分享
已邀请:
chenli

chenli

/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */  
upCallback() {  
  let pageNum = this.pageNum; // 页码  
  this.$u.api  
    .getWeiboList({ pageNum: pageNum })  
    .then(data => {  
      // 接口返回的当前页数据列表 (数组)  
      const curPageData = data.curPageData;  

      //联网成功的回调,隐藏下拉刷新和上拉加载的状态;  
      this.mescroll.endSuccess(curPageData.length);  
      //追加新数据  
      this.dataList = this.dataList.concat(curPageData);  
      // 页码加1  
      this.pageNum++;  
    })  
    .catch(() => {  
      //联网失败, 结束加载  
      this.mescroll.endErr();  
    });  
}

1、upCallback回调里有page: {num // 当前页码} 所以可以不用自己再声明一个pageNum
2、不推荐使用endSuccess来结束滚动加载,这应该也是不断加载的原因(详情如下说明或mescroll-uni文档 https://www.mescroll.com/uni.html)

// 请求成功,隐藏加载状态  
//方法一(推荐): 后台接口有返回列表的总页数 totalPage  
this.mescroll.endByPage(curPageLen, totalPage);   

//方法二(推荐): 后台接口有返回列表的总数据量 totalSize  
//this.mescroll.endBySize(curPageLen, totalSize);   

//方法三(推荐): 您有其他方式知道是否有下一页 hasNext  
//this.mescroll.endSuccess(curPageLen, hasNext);   

//方法四 (不推荐),会存在一个小问题:比如列表共有20条数据,每页加载10条,共2页.  
//如果只根据当前页的数据个数判断,则需翻到第三页才会知道无更多数据  
//如果传了hasNext,则翻到第二页即可显示无更多数据.  
//this.mescroll.endSuccess(curPageLen);
  • 1***@qq.com (作者)

    我改了,不对下拉还是会手机发热和微信小程序闪退

    https://gitee.com/ye_weihua/idolApp/blob/dev/pages/weibo/list.vue

    2021-07-30 15:20

1***@qq.com

1***@qq.com (作者)

内存溢出不是mescroll的问题,我用了<list>写分页也会手机发热。是内存回收没有处理的问题。有没有大佬只能如果回收内存

该问题目前已经被锁定, 无法添加新回复