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


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 相关文章推荐
js实现在文本框光标处添加字符的方法介绍
Nov 24 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 Javascript
关闭ie窗口清除Session的解决方法
Jan 10 Javascript
jquery.validate.js插件使用经验记录
Jul 02 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
Aug 02 Javascript
jQuery表单事件实例代码分享
Aug 18 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
vue element-ui实现input输入框金额数字添加千分位
Dec 29 Javascript
keep-alive不能缓存多层级路由菜单问题解决
Mar 10 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 12 Javascript
如何用vue实现网页截图你知道吗
Nov 17 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
ZendFramework2连接数据库操作实例
2017/04/18 PHP
php实现简单四则运算器
2020/11/29 PHP
网页常用特效代码整理
2006/06/23 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
python字符串,数值计算
2016/10/05 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
Django框架视图函数设计示例
2019/07/29 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
python 实现客户端与服务端的通信
2020/12/23 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
机电一体化大学生求职信
2013/11/08 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
超市中秋节活动方案
2014/02/12 职场文书
交通事故委托书范本
2014/09/28 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书