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


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 相关文章推荐
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
Dec 11 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
jquery 鼠标滑动显示详情应用示例
Jan 24 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
javascript动态创建及删除元素的方法
Dec 22 Javascript
10个很棒的jQuery代码片段
Sep 24 Javascript
浅谈String.valueOf()方法的使用
Jun 06 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
Feb 13 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
js实现小星星游戏
Mar 23 Javascript
Vue 组件注册全解析
Dec 17 Vue.js
微信小程序数字滚动插件使用详解
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生成网站桌面快捷方式代码分享
2014/10/11 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
php的扩展写法总结
2019/05/14 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
javascript版2048小游戏
2015/03/18 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Python中import机制详解
2017/11/14 Python
你真的了解Python的random模块吗?
2017/12/12 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
商务英语专业应届毕业生求职信
2013/10/28 职场文书
中学生打架检讨书
2014/02/10 职场文书
初中班主任评语
2014/04/24 职场文书
户籍证明格式
2014/09/15 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书