今天遇到了MUI下拉刷新的大坑,百度了好久也没看到有能用的解决办法。
自己查阅HTML 5+ API文档后,觉得可以监听scroll事件,当到达顶部时开启下拉刷新,非顶部时关闭即可。一尝试果然可行。
废话不说了,解决办法如下:
//日志标记flag
var flag = true;
//进入时开启刷新
var selfpage = plus.webview.currentWebview();
selfpage.setPullToRefresh({
support: true
}, onRefresh);
//监听滚动事件
document.querySelector('.scroll-body').addEventListener('scroll', function(e) {
//当scrollTop等于0时即是到达顶部
if(this.scrollTop == 0) {
flag = true;
console.log("refresh:" + flag);
//开启刷新,参考//http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewPullToRefreshStyles
plus.webview.currentWebview().setPullToRefresh({
support: true,
style: 'circle',
height: '40px',
range: '40px',
offset: '61px',
});
}else if(flag) {
flag = false;
console.log("refresh:" + flag);
selfpage.setPullToRefresh({
support: false
});
});
//具体执行刷新的方法
function onRefresh(){
console.log("onRefresh");
plus.webview.currentWebview().endPullToRefresh();
}