wap2app原生下拉pullToRefresh怎么更新list的dom而不是刷新网页
文档:http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/12749
文档说wap2app框架提供了原生的下拉刷新pullToRefresh
但是下拉刷新是刷新网页的,我只想更新dom,怎么实现呢?
文档中只说了一句
如果开发者想要下拉刷新用于更新list的dom而不是刷新网页,需要在app.js中进行强化编程。
你倒是说说怎么个强化法呀???
app.js的教程中没有说明,翻了官方发的所有wap2app文档都木有看见相关说明。
到底是我看得不认真还是没有写出这个方法?
回答
app.js中可以注册页面,比如list页面,然后在该页面的onShow函数中通过5+ API自定义下拉刷新功能。
5+下拉刷新参考:http://www.html5plus.org
参考 hellowap2app 示例工程中,自定义下拉刷新在 app.js 中的具体实现。
你是需要直接更新dom而不是刷新页面,也就是需要自定义下拉刷新逻辑,那么就不能通过配置pullToRefresh 节点来处理,通过节点配置就会走框架的下拉刷新逻辑,
自定义的话,首先删除sitemap中的配置,然后在首页如下:
Page('__W2A__www.baidu.com', { //首页扩展配置
onShow: function() {
console.log('show main page');
var launch = plus.webview.getLaunchWebview();
launch.setPullToRefresh({
support: true,
style: 'circle',
height: '50px',
range: '200px'
}, function() {
console.log('pullrefresh****'); // 自定义下拉刷新逻辑
launch.endPullToRefresh(); //需调用结束Webview窗口的下拉刷新
})
},
onClose: function() {
}
});
没搞过w2a项目,但是既然是在webview里面打开的网页,那方法应该跟APP中打开网页差不多,试试用evalJS方法去调用web的方法刷新list,而不是直接刷新整个web
1小时过去了
首页之外的页面自定义下拉刷新,但是首页不能自定义下拉刷新
代码:
Page('__W2A__www.baidu.com', { //首页扩展配置
onShow: function() {
console.log('show main page');
plus.webview.getLaunchWebview().setPullToRefresh({}, function(){
console.log('main page reload');
});
},
onClose: function() {
}
});
下拉之后的输出:
正在建立手机连接...
正在同步手机端程序文件...
iOS设备可使用console.log()输出内容到控制台,但是可能只能输出plusready之后的调试内容
请手动重启手机上的 HBuilder 调试基座App...
[LOG] : hide
wap2app[3.6.1]开始注入
[LOG] : [W2A]:init
[LOG] : show main page
现象是直接刷新页面。没有执行console.log('main page reload');
支持
你好想问一下这个怎么关闭的这个下拉图标,在数据回来之后
您好,下拉刷新网页可否不需要配置url参数添加代码默认开启全局下拉刷新网页?很需要这个希望大佬可以探索一下
THE END
二维码