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


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 相关文章推荐
用JavaScript编写COM组件的步骤
Mar 17 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 Javascript
jQuery解析返回的xml和json方法详解
Jan 05 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
React如何避免重渲染
Apr 10 Javascript
jQuery实现网页拼图游戏
Apr 22 jQuery
vue中keep-alive内置组件缓存的实例代码
Apr 16 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
微信小程序组件生命周期的踩坑记录
Mar 03 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
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
PHP如何编写易读的代码
2007/07/10 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
如何在PHP中读写文件
2020/09/07 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
javascript教程:关于if简写语句优化的方法
2014/05/17 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python实现矩阵乘法的方法
2015/06/28 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python中的decimal类型转换实例详解
2019/06/26 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
Django之form组件自动校验数据实现
2020/01/14 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
运动会方阵口号
2014/06/07 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2014年护理部工作总结
2014/11/14 职场文书
幼儿园辞职书
2015/02/26 职场文书
戒赌保证书
2015/05/11 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL