背景
- 由于使用自定义tabbar,导致页面的page()被component()接管,page()失效,自然没有page里的onPullDownRefresh这个方法,博主后来发现一种解决方法,这样上一篇的问题也是很可能解决的。
解决方法
- 在Json配置文件中的 “enablePullDownRefresh”: true却是可以生效成默认下拉加载。于是思路就是找到这个页面到底调用的是哪个onPullDownRefresh方法。
- 博主第一想法就是跟page()一样在Component()下面加个onPullDownRefresh方法,实验过完全无效。
- 博主于是试着在component()后面再跟个page()里面写这个方法,果然也无效,page里面什么东西都无效,会被component()接管。
- 最后发现在目标页面生命周期函数,就是pagelifetimes下的show里获取this,然后手动添加,即可成功。
pageLifetimes: {
show() {
this.onPullDownRefresh=function(){
wx.showNavigationBarLoading()
setTimeout(function () {
wx.hideNavigationBarLoading()
wx.stopPullDownRefresh()
}, 1500);
}
}}