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


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 相关文章推荐
经常用到的JavasScript事件的翻译
Apr 09 Javascript
完美解决AJAX跨域问题
Nov 01 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
jQuery 插件实现随机自由弹跳气泡样式
Jan 12 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
Sep 19 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
详解javascript对数组和json数组的操作
Apr 15 Javascript
Vue源码探究之虚拟节点的实现
Apr 17 Javascript
pageGroup.js实现分页功能
Jul 27 Javascript
通过实例了解Javascript柯里化流程
Mar 03 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 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
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
python爬虫实例详解
2018/06/19 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
python如何将多个PDF进行合并
2019/08/13 Python
戴森英国官网:Dyson英国
2019/05/07 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
Servlet如何得到客户端机器的信息
2014/10/17 面试题
工程测量与监理专业应届生求职信
2013/11/27 职场文书
个人自我鉴定写法
2013/11/30 职场文书
应聘面试自我评价
2014/01/24 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
校外活动方案
2014/08/28 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫