下拉刷新这个问题,查了老半天。
我这只小菜鸡,完全不知道view和scroll-view是不一样的!
问题现象:
按照官网的方式,
1. 在 pages.json 里,找到的当前页面的pages节点,并在 style 选项中开启 enablePullDownRefresh: true
2. 在页面中使用uni.startPullDownRefresh();以及uni.stopPullDownRefresh();
可是可是,我在浏览器调试是正确的,下拉刷新loading以及打印的log完全没问题,但是打包成app装在手机里就不行了,下拉完全没效果。
解决过程
view中使用onPullDownRefresh:
如果你用的view组件,那使用官网提供的onPullDownRefresh方法是没有问题的,代码如下:
onPullDownRefresh() {
uni.startPullDownRefresh({
success() {
uni.showToast({
title: "下拉刷新",
icon: 'none'
})
},
complete() {
uni.stopPullDownRefresh()
}
});
},
但如果在scroll-view中使用,是没有效果的!
scroll-view中使用@refresherrefresh
链接提供给大家,可以看下scroll-view的使用文档。原来scroll-view有一套自己的刷新方法。
- refresher-enabled设置为true
- 定义refresher-triggered,也就是刷新开始和结束的标志
- 写@refresherrefresh方法
代码如下:
<!-- html -->
<scroll-view refresher-enabled="true" :refresher-triggered="trigger" @refresherrefresh="refresherrefresh"></scroll-view>
// js
refresherrefresh() {
this.trigger = true;
this.doSomething(); // 调用你的方法
setTimeout(() => {
this.trigger = false;
}, 1000);
},
打包,大功告成,完美解决。文章来源:https://www.toymoban.com/news/detail-669004.html
还不快去试试!文章来源地址https://www.toymoban.com/news/detail-669004.html
到了这里,关于uni-app在app端设置下拉刷新不生效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!