2***@qq.com
2***@qq.com
  • 发布:2021-03-18 08:33
  • 更新:2021-03-23 08:15
  • 阅读:551

关于首页下拉刷新的有趣问题

分类:wap2app

接触dcloud已经有一段时间了,产生了深厚的兴趣,并感到开发者的伟大。
昨日在作> 首页下拉刷新时 发现了一些有趣的问题,如下

在app.js里注册了页面,并且在页面的 onShow 事件里作了添加了以下代码

Page('__W2A__192.168.6.186', { //首页扩展配置  
    onShow: function() {  
        //var ws = plus.webview.getWebviewById("__W2A__192.168.6.186")  
        //var ws = plus.webview.getLaunchWebview();  
	var ws = plus.webview.getWebviewById(plus.runtime.appid);  
        ws.setPullToRefresh({  
			support: true,  
			style: 'circle'  
		}, function() {  
			ws.evalJS('doRrefresh()'); // 自定义下拉刷新逻辑  
			ws.endPullToRefresh();	  
		})  
    }  
}

经测试发现以下问题
1,plus.webview.getWebviewById("__W2A__192.168.6.186")
ws为null。文档上说首页的webviewid是可以通过这样的方式获取的。

2, plus.webview.getLaunchWebview();
这种方式可以正常下拉刷新,但是发现,当我点击其它界面,来回切换几次后,有很大几率下拉刷新时,doRrefresh()执行了多次,且界面切换的次数越多,执行的次数也就越多。

3,plus.webview.getWebviewById(plus.runtime.appid);
这种方式目前来没有了doRrefresh()多次执行的问题

但不管是方式2还是方式3,目前都有一个统一的问题,就是当在不同界面间来回切换几次后,有不小的机率下拉刷新失效,就是点击没有任何反应,经调试 onShow事件并没有被调用,不知道是何原因。

2021-03-18 08:33 负责人:无 分享
已邀请:
hgdc

hgdc

我是用这种方式plus.webview.getLaunchWebview(); ,偶尔会执行多次,不知为何

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