uni-app中scroll-view下拉刷新一次后,下一次无法触发refresherrefresh,是什么原因?希望有大佬能帮助一下
uni-app中scroll-view下拉刷新一次后,下一次无法触发refresherrefresh,是什么原因?希望有大佬能帮助一下
<scroll-view scroll-y refresher-background="#f7f6f4" refresher-enabled=“enable” refresher-triggered=“refresh” @refresherrefresh=“handleRefresherRefresh” @scrolltolower=“handleScrollToLower” @scroll=“handleScroll” class=“scrollContainer”>
handleRefresherRefresh(){ if (this.going) return; this.going = true; console.log(‘触发了’) if (!this.refresh) this.refresh = true; this.init();//加载数据 setTimeout(() => { this.refresh = false; this.going = false; }, 300); }, handleScrollToLower(){ let {loading, end, pageNum} = this; if (!loading && !end) { pageNum++; this.pageNum = pageNum; this.table(); } }, handleScroll(event){ let scrollTop = event.detail.scrollTop; this.enable = scrollTop <= 10; },
</scroll-view>更多关于uni-app中scroll-view下拉刷新一次后,下一次无法触发refresherrefresh,是什么原因?希望有大佬能帮助一下的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3.2.0 alpha 已修复
更多关于uni-app中scroll-view下拉刷新一次后,下一次无法触发refresherrefresh,是什么原因?希望有大佬能帮助一下的实战教程也可以访问 https://www.itying.com/category-93-b0.html
老哥,解决了嘛,我的App也是这个情况呢
不过我是包裹在swiper内的
同样的问题,我不记得之前会这样啊?好像是更新后才这样的。
已确认好像是个bug,官方应该下个版本修复
是的哦,这个scroll-view还有其他bug,好难哦
问题出在refresher-triggered属性的绑定逻辑上。当前代码中refresher-triggered始终绑定为refresh(固定值true),在下拉刷新完成后没有重置状态。
解决方案:
- 将
refresher-triggered绑定到动态变量:
<scroll-view :refresher-triggered="isRefreshing">
- 修改刷新处理逻辑:
handleRefresherRefresh(){
if (this.going) return;
this.going = true;
this.isRefreshing = true; // 开启刷新状态
this.init().then(() => {
// 数据加载完成后重置状态
this.isRefreshing = false;
this.going = false;
}).catch(() => {
this.isRefreshing = false;
this.going = false;
});
}

