




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第微信小程序实现下拉刷新和上拉分页效果的方法详解目录下拉刷新上拉分页
下拉刷新
下拉刷新这个玩意吧,很有用,但是在我博客关联的小程序中,用处不大,也是,我那个小程序一共也没有几个页
我这里还是用在首页,上拉分页,下拉刷新重载分页。我就是这么做的。
下拉刷新和上拉分页还是有区别的。
下拉刷新需要在index.json中添加属性:
enablePullDownRefresh:true
Index.js
Page({
data:{
//文章数组
articleList:[],
//每页显示的行数:
pagesize:20,
//页码(从1开始)
page:1,//文章页码
//用于标识是否还有更多的状态
state:1,
//用于数组的追加和暂存
allProject:[],
*生命周期函数--监听页面初次渲染完成
onReady:function(){
varself=this;
self.getArticleList();
*获取文章列表
getArticleList()
varself=this;
//请求后台接口获取文章列表
wx.request({
//请求连接
url:'https://guanchao.site/index/xxxx/xxxxx,
//请求所需要的的参数
data:{
'page':self.data.page
success(result){
varresData=result.data;
varresLength=result.data.length;
//如果搜出来的结果1就说明后面已经没数据可加载了,所以将state设为0
if(resLength1)
self.setData({
state:0
else
varstate1=1;
//如果有数据,但小于每次期望加载的数据量(pagesize),将state设为0,表示后面已没有数据可加载
if(resLengthself.pagesize)
varstate1=0;
//循环将结果集追加到数组后面
for(vari=0;iresLength;i++){
self.data.allProject.push(resData[i]);
self.setData({
articleList:self.data.allProject,
state:state1
wx.hideLoading();
*下拉刷新
onPullDownRefresh(){
//下拉刷新
varself=this;
wx.showLoading({
title:'加载中...',
//页码重新设置回1
self.data.page=1;
//将显示列表数据清空
self.data.allProject=[];
self.getArticleList();
wx.stopPullDownRefresh();
});
可以看到,我们增加了一个onPullDownRefresh函数并在里面调用了getArticleList去请求第一页的数据,并且页面显示数据的数组清空,页码设置成1,重新加载数据。
另外,下拉刷新的事件也可以通过调用APIwx.startPullDownRefresh触发,效果与用户手动下拉刷新一致。
上拉分页
一般APP或者手机端一般给我们提供的都是,上拉分页,但是vant小程序版的组件是为我们提供了类似于PC网页那样的页码分页。
但是吧,我就不太想用web网站那样做一串数字页码那样了,这是反人类的设计。使用上拉进行分页。
小程序为我们提供了上拉加载事件:onPullDownRefresh
/**
*页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh:function(){
},
对,就是这个玩意。
这个直接就能触发,不需要其他什么多余的设置,下边我分享一下,我上拉分页的代码。
Index.js
Page({
data:{
//文章数组
articleList:[],
//每页显示的行数:
pagesize:20,
//页码(从1开始)
page:1,//文章页码
//用于标识是否还有更多的状态
state:1,
//用于数组的追加和暂存
allProject:[],
*生命周期函数--监听页面初次渲染完成
onReady:function(){
varself=this;
self.getArticleList();
*获取文章列表
getArticleList()
varself=this;
//请求后台接口获取文章列表
wx.request({
//请求连接
url:'https://guanchao.site/index/xxxx/xxxxx,
//请求所需要的的参数
data:{
'page':self.data.page
success(result){
varresData=result.data;
varresLength=result.data.length;
//如果搜出来的结果1就说明后面已经没数据可加载了,所以将state设为0
if(resLength1)
self.setData({
state:0
else
varstate1=1;
//如果有数据,但小于每次期望加载的数据量(pagesize),将state设为0,表示后面已没有数据可加载
if(resLengthself.pagesize)
varstate1=0;
//循环将结果集追加到数组后面
for(vari=0;iresLength;i++){
self.data.allProject.push(resData[i]);
self.setData({
articleList:self.data.allProject,
state:state1
wx.hideLoading();
*页面上拉触底事件的处理函数
onReachBottom:function(){
varself=this;
varstate=self.data.state;
if(state0){
//wx.showLoading({
//title:'加载中...',
//});
self
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三化学复习计划:小组学习的方法
- 2024届天津市宁河区中考考前最后一卷数学试卷含解析
- 编程社团技术分享活动计划
- 2025医疗行业廉洁自律计划
- 历史教学计划在七年级的应用研究
- 仓储设施施工安全计划
- 整体运营合同协议书
- 损毁道路补偿协议书
- 平台资质分成协议书
- 放弃遗产继承协议书
- 2025年中考英语复习1600词背诵单-按字母排序
- 线路安规培训
- 比亚迪秦EV新能源汽车电机驱动系统
- 大风天气下的物流运输安全措施
- 老旧小区加装电梯使用公约协议
- 新生儿护理安全用药
- 2025年湖北省新华书店集团有限公司招聘笔试参考题库含答案解析
- 西医骨科发展简史
- 医疗护理医学培训 临时起搏器的使用及参数调整课件
- 《中国妇女妊娠期体重监测与评价》(T-CNSS 009-2021)
- 情境教学法在初中函数教学中的实践研究
评论
0/150
提交评论