说你妹
说你妹
  • 发布:2016-05-18 14:15
  • 更新:2016-05-27 10:28
  • 阅读:2366

上拉无法显示加载更多

分类:MUI

我有一个A页面,加载b、c、d三个子页面,这个三个子页面的结构完全一致,只是加载数据不一样,正常情况是,3个页面都可以上拉加载更多,可是自从升级HBuilder (7.1.2.201605102311)以后,只有c、d两个页面能上拉,b页面不能上拉,底部也不显示加载更多,把b、c、d三个页面加载顺序互换一下,始终是第一个页面无法上拉,肯定与业务代码没关系,这个问题是升级HBuilder以后才出现的,以前都很正常。

2016-05-18 14:15 负责人:无 分享
已邀请:
说你妹

说你妹 (作者)

什么原因呀,麻烦技术人员解答一下,很着急呀

DCloud_UNI_FXY

DCloud_UNI_FXY

发个测试工程

DCloud_UNI_FXY

DCloud_UNI_FXY

原因:

你在父webview触发了子webview的initData来刷新数据,

在initData里边调用了mui('#scroll1').pullRefresh().refresh(true);

只要一调用mui('#scroll1').pullRefresh(),就会自动初始化下拉刷新,上拉加载控件。

你这个initData触发的太早,导致mui.init里边的还没初始化,你就自己通过调用mui('#scroll1').pullRefresh()来初始化了。

解决方案:
1.mui.init里边的up配上auto:true来实现第一次自动加载
2.在initData里边,判断是否已经初始化上拉加载,只有初始化了,才执行refresh操作。

if(document.querySelector('.mui-pull-bottom-pocket')){//简单识别。  
            mui('#scroll1').pullRefresh().refresh(true);  
            ucenterInvest_repaying();  
        }

后续版本升级,在初始化pullRefresh之前调用pullRefresh()的话,框架自动报错,方便排查问题

说你妹

说你妹 (作者)

感谢DCloud_MUI_FXY帮我解决了这个头疼的问题了,现在已经可以了。

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