微信小程序实现列表下拉刷新上拉加载


Posted in Javascript onJuly 29, 2020

本文实例为大家分享了微信小程序实现列表下拉刷新上拉加载的具体代码,供大家参考,具体内容如下

DEMO下载

效果图

微信小程序实现列表下拉刷新上拉加载

原理

利用微信小程序的onPullDownRefresh函数(下拉刷新监听函数)和onReachBottom函数(上拉加载监听函数)监听页面的下拉和上拉动态,从而对页面数据进行修改!

页面配置JSON

  • enablePullDownRefresh:开启下拉刷新;
  • onReachBottomDistance:页面上拉触底事件触发时距页面底部距离,单位为px。
{
 "enablePullDownRefresh": true,
 "onReachBottomDistance": 50
}

WXML

<view class="tui-content">
 <view class="tui-menu-list" wx:for="{{dataList}}">Item -- {{item}}</view>
</view>

JS

此处用setTimeout模拟请求数据;
加载数据限制三次,调用wx.showToast显示没有更多数据。

Page({
 data: {
 dataList: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],
 count : 0
 },
 onPullDownRefresh(){
 var self = this;
 setTimeout(() => {
 // 模拟请求数据,并渲染
 var arr = self.data.dataList, max = Math.max(...arr);
 for (var i = max + 1; i <= max + 3; ++i) {
 arr.unshift(i);
 }
 self.setData({ dataList: arr });
 // 数据成功后,停止下拉刷新
 wx.stopPullDownRefresh();
 }, 1000);
 },
 onReachBottom(){
 var arr = this.data.dataList, max = Math.max(...arr);
 if (this.data.count < 3) {
 for (var i = max + 1; i <= max + 5; ++i) {
 arr.push(i);
 }
 this.setData({
 dataList: arr,
 count: ++this.data.count
 });
 } else {
 wx.showToast({
 title: '没有更多数据了!',
 image: '../../src/images/noData.png',
 })
 }
 }
})

总结

必须在每次数据请求完成后,使用wx.stopPullDownRefresh()停止下拉刷新。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js限制textarea每行输入字符串长度的代码
Oct 31 Javascript
兼容IE和FF的图片上传前预览js代码
May 28 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
Oct 20 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
jquery简单倒计时实现方法
Dec 18 Javascript
jQuery增加与删除table列的方法
Mar 01 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
js实现鼠标移动到图片产生遮罩效果
Oct 21 Javascript
VUE+Element环境搭建与安装的方法步骤
Jan 24 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
Apr 29 Javascript
微信小程序数字滚动插件使用详解
Feb 02 #Javascript
JS中的BOM应用
Feb 02 #Javascript
微信小程序实现文字跑马灯效果
May 26 #Javascript
微信小程序实现滚动消息通知
Feb 02 #Javascript
微信小程序实现YDUI的ScrollTab组件
Feb 02 #Javascript
微信小程序实现YDUI的ScrollNav组件
Feb 02 #Javascript
vuex的简单使用教程
Feb 02 #Javascript
You might like
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
token 机制和实现方式
2020/12/15 Javascript
python实现自动更换ip的方法
2015/05/05 Python
python把转列表为集合的方法
2019/06/28 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
应届毕业生求职信
2013/11/30 职场文书
班主任工作经验材料
2014/02/02 职场文书
农村文化建设标语
2014/10/07 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
安全保证书
2015/01/16 职场文书
综合管理员岗位职责
2015/02/11 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
领导欢送会主持词
2015/07/06 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android