更新记录
1.1(2024-12-20)
下载此版本
路径问题
1.0(2024-12-20)
下载此版本
微信公众号开发中,需要自定义下拉刷新时,微信浏览器下拉出现页面同时被向下弹性滑动造成下拉异常,此插件解决了这个问题,同时下拉刷新样式尽量与内置下拉刷新保持一致
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
× |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
jack-refresh
使用方法
1、在页面中导入并注册
//导入
import Refresh from "@/components/jack-refresh/jack-refresh.vue"
...
//注册组件
components:{Refresh}
...
//使用
<Refresh domName=".list" :refreshing="isRefreshing" @pullDownRefresh="getList" @reachBottom="appendList" :pullThreshold="30"/>
参数说明
参数名 |
类型 |
说明 |
默认 |
domName |
string |
要监听的下拉刷新的列表或组件的样式类名,如 .list |
必须 |
refreshing |
boolean |
需手动修改刷新状态,请求前赋值true,结束后赋值false即可 |
必须 |
pullThreshold |
number |
下拉刷新触发阈值,数字单位为px |
50 |
事件
事件名 |
说明 |
pullDownRefresh |
触发下拉刷新后的回调 |
reachBottom |
触底后的回调 |
使用案例
<template>
<view class="content">
<Refresh domName=".list" :refreshing="isRefreshing" @pullDownRefresh="getList" @reachBottom="appendList" :pullThreshold="30"/>
<view class="list" :style="{height:(list.length>10?'auto':'95vh')}">
<view class="list_item" v-for="i in list">
{{i}}
</view>
</view>
</view>
</template>
<script>
import Refresh from "@/components/jack-refresh/jack-refresh.vue"
export default {
data() {
return {
list: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
isRefreshing: false,
}
},
onLoad() {
},
methods: {
getList() {
uni.showLoading({
title: '刷新中',
mask: false
});
this.isRefreshing = true
this.testApi().then(res=>{
this.list = res
uni.hideLoading()
this.isRefreshing = false
})
},
appendList() {
uni.showLoading({
title: '加载更多',
mask: false
});
this.isRefreshing = true
this.testApi().then(res=>{
this.list.push(...res)
uni.hideLoading()
})
},
testApi() {
return new Promise((res, err) => {
setTimeout(() => {
res([2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,2,2])
}, 2000)
})
}
},
components: {
Refresh
}
}
</script>
<style>
.list_item {
margin: 0 auto;
width: 90%;
border: 1px solid #ababaa;
padding: 30rpx 0;
margin-top: 20rpx;
}
</style>
注意事项
1、因组件监听的是dom元素的下拉事件,故若开始监听的列表高度为0或较小,可能触发不到,可以使用案例中的方法给list一个动态高度