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


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控制容器隐藏出现防止样式变化的两种方法
Apr 25 Javascript
Jquery自定义button按钮的几种方法
Jun 11 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
JS简单实现表格排序功能示例
Dec 20 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
原生JS实现自定义滚动条效果
Oct 27 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
使用veloticy-ui生成文字动画效果
Feb 08 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 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 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
详解Python流程控制语句
2020/10/28 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
幼儿园门卫制度
2014/01/29 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
我的生日感言
2015/08/03 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书