微信小程序 下拉刷新及上拉加载原理解析


Posted in Javascript onNovember 06, 2019

这篇文章主要介绍了微信小程序 下拉刷新及上拉加载实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.下拉刷新的概念及应用场景。

概念: 下拉刷新是移动端更新列表数据的交互行为,用户通过手指在屏幕上子上而下的滑动,可以触发页面的下拉刷新,更新列表数据。

应用场景: 在移动端,数据列表是常见的页面效果,更新列表数据是最基本的页面需求,相比于按钮刷新,定时刷新来说,下拉刷新的用户体验方便友好,已经成为移动端刷新列表数据的最佳解决方案。

微信小程序启动下拉刷新:

两种方式:

1.需要在app.json 的window选项中或页面配置中开启enablePullDownRefresh, 但是,一般情况下,推荐在页面配置中为需要的页面单独开启下拉刷新行为。

2.可以通过wx.startPullDownRefresh() 触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。

配置下拉刷新窗口的样式:

需要在app.json 的window选项中或页面配置中修改backbroundColor 和backgroundTextStyle 选项。

backgroundColor: 用来配置下拉刷新窗口的背景颜色,仅支持16进制颜色值。

backgroundTextStyle 用来配置下拉刷新loading 的样式,仅支持dark和light

onPullDownRefresh: 页面相关事件处理函数--监听用户下拉操作时执行

停止下拉刷新效果:

当处理万下拉刷新后,下拉刷新的loading 效果会一直显示,不会主动消失,需要手动隐藏下拉刷新的loading效果,此时,跳用wx.stopPullDownRefresh()可以停止当前页面的下拉刷新。

上拉加载更多

1.上拉加载更多的概念及应用场景。

概念: 在移动端,随着手指不断向上滑动,当内容将要到达屏幕底部的时候,页面会随之不断的加载后续内容,知道没有新内容位置,我们称之为上拉加载更多,上拉加载更多的本质就是数据的分页加载。

应用场景: 在移动端,列表数据的分页加载,首选的实现方式就是上拉加载更多。

配置上拉触底的距离:

可以在app.json的window 选项上或页面配置中设置触底的距离 onReachBottomDistance 单位为px,默认触底距离为50px。

监听上拉触底事件:onReachBottom() 函数,可以监听用户在当前页面的上拉触底事件,从而实现上拉加载更多列表数据的效果。

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

Javascript 相关文章推荐
jQuery实现鼠标划过修改样式的方法
Apr 14 Javascript
AngularJS ng-change 指令的详解及简单实例
Jul 30 Javascript
vue2.0全局组件之pdf详解
Jun 26 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
Dec 15 Javascript
postman+json+springmvc测试批量添加实例
Mar 31 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
jquery.pager.js分页实现详解
Jul 29 jQuery
element-ui中按需引入的实现
Dec 25 Javascript
Element InputNumber 计数器的实现示例
Aug 03 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
vue中如何添加百度统计代码
Dec 19 Vue.js
JS Canvas接口和动画效果大全
Apr 29 Javascript
vue 解决文本框被键盘遮住的问题
Nov 06 #Javascript
vue点击页面空白处实现保存功能
Nov 06 #Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 #Javascript
微信小程序网络请求实现过程解析
Nov 06 #Javascript
vue 自定义右键样式的实例代码
Nov 06 #Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
Nov 06 #Javascript
vue 解决computed修改data数据的问题
Nov 06 #Javascript
You might like
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
javascript 解析url的search方法
2010/02/09 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
Python 占位符的使用方法详解
2019/07/10 Python
softmax及python实现过程解析
2019/09/30 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
物流仓储计划书
2014/01/10 职场文书
办理护照介绍信
2014/01/16 职场文书
招标承诺书
2014/08/30 职场文书
2014年工程部工作总结
2014/11/25 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
mysql中关键词exists的用法实例详解
2022/06/10 MySQL