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


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 相关文章推荐
Javascript面向对象设计一 工厂模式
Dec 20 Javascript
javascript动态加载三
Aug 22 Javascript
javascript中的事件代理初探
Mar 08 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
JavaScript 学习笔记之操作符(续)
Jan 14 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
axios 处理 302 状态码的解决方法
Apr 10 Javascript
javascript sort()对数组中的元素进行排序详解
Oct 13 Javascript
微信小程序实现星级评价
Nov 20 Javascript
JavaScript canvas绘制渐变颜色的矩形
Feb 18 Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 Javascript
vue解决跨域问题(推荐)
Nov 10 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传输数据的代码
2007/11/13 PHP
PHP计数器的实现代码
2013/06/08 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
php使用google地图应用实例
2014/12/31 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
用Python解决x的n次方问题
2019/02/08 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
自我鉴定模板
2013/10/29 职场文书
优秀毕业大学生推荐信
2013/11/13 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
初中历史教学反思
2016/02/19 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
导游词之五台山
2019/10/11 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
Spring中的@Transactional的工作原理
2022/06/05 Java/Android