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


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 相关文章推荐
DOM下的节点属性和操作小结
May 14 Javascript
在父页面调用子页面的JS方法
Sep 29 Javascript
js获取对象为null的解决方法
Nov 21 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
Nov 03 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 Javascript
JS中Safari浏览器中的Date
Jul 17 Javascript
AngularJs导出数据到Excel的示例代码
Aug 11 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
Feb 22 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 Javascript
用VsCode编辑TypeScript的实现方法
May 07 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/05/29 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
Yii框架安装简明教程
2020/05/15 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
django_orm查询性能优化方法
2018/08/20 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
两道JAVA笔试题
2016/09/14 面试题
安全伴我行演讲稿
2014/09/04 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
素质教育培训心得体会
2016/01/19 职场文书
Python标准库pathlib操作目录和文件
2021/11/20 Python
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫