开启原生下拉刷新时,页面里使用了全屏高的scroll-view,向下拖动内容时,会优先触发scroll-view滚动而不是下拉刷新。
bash
"enablePullDownRefresh": true,
这就可能会导致下拉刷新不起作用,这时候就需要做到取舍,看看是保留scroll-view,使用自带的下拉刷新,还是保留原生的下拉刷新。
scroll-view下拉刷新
html
<scroll-view :refresher-triggered="refresh" @refresherrefresh="onRefresh"
scroll-y="true" refresher-enabled="true" :refresher-threshold="100">
<view class="friendlist">
<view v-for="(item, index) in presentData" :key="index">
<view class="card" @click="Chatpage(item)">
</view>
</view>
</view>
</scroll-view>
javascript
// 控制下拉刷新
const refresh = ref(false)
// 下拉刷新触发方法
const onRefresh = async () => {
//打开下拉刷新
refresh.value = true;
/**
* 写下拉刷新需要的操作
*/
// 这里不能直接让refresh直接为false,否则可能会发生下拉加载无法复位的情况
setTimeout(() => {
refresh.value = false;
}, 500)
}