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


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静态作用域的功能。
Dec 25 Javascript
javascript 简单抽屉效果的实现代码
Mar 09 Javascript
过虑特殊字符输入的js代码
Aug 05 Javascript
基于jquery跨浏览器显示的file上传控件
Oct 24 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
May 26 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
如何在JavaScript中谨慎使用代码注释
Jun 21 Javascript
JavaScript实现图片轮播特效
Oct 23 Javascript
简单了解常用的JavaScript 库
Jul 16 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 Javascript
javascript实现多边形碰撞检测
Oct 24 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
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
python解析xml文件实例分享
2013/12/04 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
django中的图片验证码功能
2019/09/18 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
python程序文件扩展名知识点详解
2020/02/27 Python
Python实现对adb命令封装
2020/03/06 Python
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
函授本科毕业生自我鉴定
2013/10/16 职场文书
超市营业员岗位职责
2013/12/20 职场文书
小学六年级学生评语
2014/04/22 职场文书
自主招生教师推荐信
2014/05/10 职场文书
社区矫正工作方案
2014/06/04 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python