更新记录
1.0.1(2021-02-22)
上传使用说明,调整插件默认值
1.0.0(2021-02-20)
nvue上下拉刷新列表二次封装,只需请求接口,赋值列表
本插件需要在nvue窗口使用哈
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-nvue |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
lsj-nvuelist
可导入示例项目查看完整demo
若有疑问可进QQ讨论群:701468256
使用说明
属性 |
是否必填 |
值类型 |
默认值 |
说明 |
init |
否 |
Boolean |
true |
初始化时执行一次刷新 |
top |
否 |
Number |
0 |
默认fixed布局,top设定顶部距离 |
topUnit |
否 |
String |
rpx |
顶部距离的单位 |
bottom |
否 |
Number |
0 |
设定底部距离 |
bottomUnit |
否 |
String |
rpx |
底部距离的单位 |
backgroundColor |
否 |
String |
#f2f2f2 |
列表背景色 |
position |
否 |
String |
fixed |
position布局方式 |
downText |
否 |
Object |
下拉刷新提示 |
downText说明 |
upText |
否 |
Object |
上拉加载提示 |
upText说明 |
loadData |
是 |
Function |
- |
功能触发回调执行函数 |
downText说明
属性 |
默认值 |
说明 |
contentdown |
下拉可以刷新 |
手指下拉开始时顶部显示 |
contentover |
释放立即刷新 |
手指下拉到指定位置时顶部显示 |
contentrefresh |
正在刷新... |
数据请求中 |
contentnomore |
刷新完成 |
下拉刷新执行完毕时显示 |
upText说明
属性 |
默认值 |
说明 |
contentdown |
上拉加载更多 |
isNext为true时显示(触底时自动执行下次请求) |
contentrefresh |
正在加载... |
数据请求中 |
contentnomore |
没有更多数据了 |
isNext为false时显示(触底时不再执行请求) |
示例
vue:
<lsj-nvuelist ref="lsjNvuelist" init :top="top" @loadData="loadData">
<uni-cell v-for="(item,index) in list" :key="index">
<!-- 此处写你列表view -->
</uni-cell>
</lsj-nvuelist>
js:
data() {
return {
top: 0,
list: [],
fromData: {
pageNum: 1,
pageSize: 20
}
}
}
methods: {
/**
* 上下拉触发回调
* @param {Boolean} refresh 是否为下拉刷新
*/
async loadData(refresh) {
// ---- start 以下内容根据自己业务自行修改 start -----
// 异步获取数据
let promise = new Promise((resolve, reject) => {setTimeout(() => resolve('仿接口请求体验'), 500)})
let res = await promise;
// 如果是下拉刷新,重置列表数据及分页参数
if (refresh) {
this.fromData.pageNum = 1;
this.list = [];
}
for (let i=0,len=20;i<len;i++) {this.list.push({name:i});}
let isNext = this.list.length >= 100;
// 如果还有下一页,则下次请求page+1;
if (!isNext) {
this.fromData.pageNum++;
}
// ---- end -----
// 结束刷新效果
// isNext决定是否还可以继续上拉加载更多数据
this.$refs.lsjNvuelist.endLoad(refresh,isNext);
}
}