位置: IT常识 - 正文

微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具)

编辑:rootadmin
微信小程序开发使用onreachBottom实现页面触底加载及分页

目录

一 简要介绍一下onreachBottom事件

 二  实例展示

 三 遇到的一些问题


一 简要介绍一下onreachBottom事件

推荐整理分享微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序开发平台,微信小程序开发公司十大排名,微信小程序开发者工具,微信小程序开发公司十大排名,微信小程序开发费用一览表,微信小程序开发公司,微信小程序开发公司,微信小程序开发平台,内容如对您有帮助,希望把文章链接给更多的朋友!

        onreachBottom和onLoad以及onShow一样,都属于小程序的生命周期事件,作用就是在页面下拉到底部时触发这个事件,一般适用于数据比较多的情况下,实现懒加载并分页展示数据。

        截图中展示了小程序对onreachBottom事件的具体解释和参数。

 二  实例展示

此次展示的实例是在小程序首页加载二手车车源信息的下拉分页加载数据的效果。

首先需要在data里面初始化分页的页数和获取的数据数组。

写好触底之后加载新数据并保留老数据的方法。我把加载第一页数据和触底加载新数据写在了一个方法里面,方法里面加入了一个布尔型的reachBottom参数,在onLoad事件里参数为false,只加载第一页;在onreachBottom事件里参数为true,要加载新的数据.向后端请求的方法为util.request,详情可以看我上一个博客,贴个链接.这里的参数比较多,贴图

微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具)

https://blog.csdn.net/weixin_53387347/article/details/125742037?spm=1001.2014.3001.5502将从后端请求的数据保存在supplyList中,并且通过setData方法写入data中的supplyList中,将总页数也保存在totalPages中,最后每获取一整页的数据之后将页数加一,为下页调用数据做准备.方法的整体代码如下.getSupplyList(reachBottom) {//参数表示是否为触底下拉加载数据 wx.showLoading({ title: '加载中...', }); let that = this;//在回调甘薯里,this有时候不能直接用,防止出bug所初始化一个that util.request(api.SupplyList, {//发送请求 type: that.data.type, page: that.data.page, limit: that.data.limit, searchValue: that.data.searchValue//请求的四个参数 }).then(function (res) { console.log(that.data.page); if (res.errno === 0) {//为0请求成功 let supplyList = res.data.list.map(item => { item.dueTime = util.formatTime2(new Date(item.dueTime), "Y/M/D");//设置日期格式 item.herbListImage && (item.herbListImage01 = item.herbListImage.split(',')[0])//设置获取的图片列表 item.companyLogo = item.companyLogo || item.avatar; item.companyName = item.companyName || item.nickname; return item;//将这一条数据返回supplyList并保存 }); //触底加载新数据并保留老数据 if (reachBottom) { supplyList = [...that.data.supplyList, ...supplyList]//将新数据加入老数据中 } that.setData({//将获取的值赋值给data中的数组和总页数 supplyList: supplyList, totalPages: res.data.pages }); that.data.page++//所有操作完成后页数加一 wx.hideLoading(); } }).finally(() => { wx.hideLoading(); }); },写好getSupplyList方法之后,可以在onReachBottom触底加载事件里面进行调用,调用的时候要判断当前页是否小于总页数,小于的话进行调用,并且在每次调用后将当前页数加一,代码如下. onReachBottom() {//触底加载事件 if (this.data.totalPages > this.data.page) {//判断当前也是否小于总页数 this.setData({ page: this.data.page + 1//当前页加一 }); } else { return false; } this.getSupplyList(true);//调用方法 },

这样这个触底加载的功能就已经实现了. 如图

 三 遇到的一些问题

在实际开发这个过程当中,也遇到了一些问题,可以和大家分享一下,互相学习

        在测试的时候,第一次分页加载实现了,后面都没有实现,在排查之后,发现经过第一次的分页之后this.data.page即当前页面变为了3,在刷新页面之后并没有重新初始化为1,所以要在页面每次关闭之后将页面重新赋值为1,如图.

        在写getSupplyList方法时,在data里面定义好的变量使用的时候总是显示 undefined 未定义,在csdn上查到了原因,是因为在js的一些函数或者回调函数中,直接用this可能是无法访问的,需要重新定义一个变量代替this,解决方法如下,用that代替this来使用data中的变量.

         如果要实现想动图里面那样的无感触底加载的功能,只需要在对应的json文件里面加入"onReachBottomDistance": 300,可以在离底部300的时候就开始执行触底加载事件.

欢迎大家一起讨论.

本文链接地址:https://www.jiuchutong.com/zhishi/300130.html 转载请保留说明!

上一篇:微信小程序 | 小程序的事件处理(微信小程序小窗口)

下一篇:WebSocket的使用方法(JS前端)(websocket怎么用)

  • 中国银行转账记录怎么删掉(中国银行转账记录电子回单)

    中国银行转账记录怎么删掉(中国银行转账记录电子回单)

  • 小米10青春版支持的传感器有哪些(小米10青春版支持广电卡吗)

    小米10青春版支持的传感器有哪些(小米10青春版支持广电卡吗)

  • 华为微信保存照片位置怎么弄(华为微信保存照片失败咋回事)

    华为微信保存照片位置怎么弄(华为微信保存照片失败咋回事)

  • 抖音收到关注请求是对方发的吗(抖音收到关注请求提示打开又没有)

    抖音收到关注请求是对方发的吗(抖音收到关注请求提示打开又没有)

  • 我国的手机号为什么是11位数(中国手机号都是+86吗)

    我国的手机号为什么是11位数(中国手机号都是+86吗)

  • 闲鱼几天不发货自动取消订单(闲鱼几天不发货会被取消)

    闲鱼几天不发货自动取消订单(闲鱼几天不发货会被取消)

  • 苹果11摄像头防刮吗(苹果11摄像头防水吗)

    苹果11摄像头防刮吗(苹果11摄像头防水吗)

  • 华为暗夜模式怎么开(华为暗夜模式怎么打开)

    华为暗夜模式怎么开(华为暗夜模式怎么打开)

  • 华为nova7处理器是多少(华为nova7处理器是什么型号)

    华为nova7处理器是多少(华为nova7处理器是什么型号)

  • 三星s10怎么OTG功能用不了(三星s10手机ot g在哪儿打开)

    三星s10怎么OTG功能用不了(三星s10手机ot g在哪儿打开)

  • cad分解块的快捷命令(cad里分解块的快捷键)

    cad分解块的快捷命令(cad里分解块的快捷键)

  • ipad上市时间顺序(ipad上市时间顺序2019)

    ipad上市时间顺序(ipad上市时间顺序2019)

  • 华为学生模式怎么没了(华为学生模式怎么绑定家长手机)

    华为学生模式怎么没了(华为学生模式怎么绑定家长手机)

  • 电脑腾讯视频怎么下载到u盘(电脑腾讯视频怎么用手机号登录)

    电脑腾讯视频怎么下载到u盘(电脑腾讯视频怎么用手机号登录)

  • 快手店铺订单怎么删除(快手店铺订单怎么查询)

    快手店铺订单怎么删除(快手店铺订单怎么查询)

  • 抖音企业认证600管多久(抖音企业认证600元怎么退款)

    抖音企业认证600管多久(抖音企业认证600元怎么退款)

  • vivoy93s充电多久能充满(vivos9e充电多久)

    vivoy93s充电多久能充满(vivos9e充电多久)

  • 微信头像五星红旗怎么弄(微信头像五星红旗下面有个刘)

    微信头像五星红旗怎么弄(微信头像五星红旗下面有个刘)

  • 爱奇艺怎么切换经典模式(爱奇艺怎么切换国际版)

    爱奇艺怎么切换经典模式(爱奇艺怎么切换国际版)

  • 如何用usb连接音响(如何用usb连接音响设备)

    如何用usb连接音响(如何用usb连接音响设备)

  • 怎么重置路由器密码(极路由怎么重置路由器)

    怎么重置路由器密码(极路由怎么重置路由器)

  • 云闪付可以扫微信二维码吗(云闪付可以扫微信收款码吗)

    云闪付可以扫微信二维码吗(云闪付可以扫微信收款码吗)

  • oppo 新机reno2是5g手机吗(opporeno2z支持5g)

    oppo 新机reno2是5g手机吗(opporeno2z支持5g)

  • 华为nova3有nfc功能吗(华为nova3i nfc功能)

    华为nova3有nfc功能吗(华为nova3i nfc功能)

  • 苹果xr悬浮窗怎么打开(苹果xr悬浮窗怎么样才能给他关闭)

    苹果xr悬浮窗怎么打开(苹果xr悬浮窗怎么样才能给他关闭)

  • yy怎么进入频道和房间(yy怎么进入频道大厅)

    yy怎么进入频道和房间(yy怎么进入频道大厅)

  • 小影如何取消订阅(小影续费怎么关闭)

    小影如何取消订阅(小影续费怎么关闭)

  • 华为花粉俱乐部是什么(华为花粉俱乐部可以卸载吗)

    华为花粉俱乐部是什么(华为花粉俱乐部可以卸载吗)

  • 苹果xr处理器型号(苹果xr处理器是啥)

    苹果xr处理器型号(苹果xr处理器是啥)

  • 周志华《机器学习》第三章课后习题

    周志华《机器学习》第三章课后习题

  • sesearch命令  查看SElinux策略(sed命令大全)

    sesearch命令 查看SElinux策略(sed命令大全)

  • 销售收入不含税怎么计算增值税额
  • 车船税是否每年都交
  • 小规模纳税人怎么办理
  • 实质课税原则是税法基本原则吗
  • 坏账准备需要计提成本吗
  • 公司销户本金转到哪里
  • 专家住宿费入什么科目
  • 补贴收入企业所得税
  • 不动产租赁属于经营租赁吗
  • 网吧电脑折旧率
  • 开技术服务费发票怎么做账
  • 转让房产收取的增值税
  • 多缴纳的附加税怎么退
  • 土地受让人是什么意思
  • 国税局可以开增值税专用发票吗
  • 国税开运输发票后地税怎么报税?
  • 城建税及教育费附加税怎么算
  • 合同印花税多交了怎么退
  • 增资印花税增加哪个税目
  • 增值税税控系统专用设备注销发行
  • 企业的哪些活动属于投资活动?
  • 外商投资企业补税政策
  • 购进货物赠送客户增值税处理
  • 接受应税劳务的会计分录
  • linux |bc
  • 违约方能否要求返还价款
  • mac设置在哪里设置
  • 交际应酬性支出是什么
  • PHP:pg_connection_reset()的用法_PostgreSQL函数
  • 会计账簿登记错误怎么办
  • 收到税务局退增值税及附加税怎么做账
  • 大堡礁分布在澳大利亚的哪里
  • 饲料企业经营范围
  • 一般纳税人开出13%的普通发票怎么扣税
  • sdiff命令 以并排方式合并文件之间的差异
  • 房地产企业买地
  • 电子发票的优点好处
  • 高速公路费如何查询
  • 法人股的利弊
  • 理财产品怎么收费
  • 开具红字发票抵扣后如何退税?
  • 2018年所得税率
  • 其他综合收益要转入投资收益吗
  • 日常生活中常见的气质类型包括
  • 房产公司增值税专用发票
  • 投资收益主要包括哪些
  • 技术咨询费属于什么类别
  • mysql和mysql数据库的区别
  • 解析包出现错误无法安装怎么办
  • ubuntu 安装指定位置
  • windows7计算机管理拒绝访问
  • 安装双系统ubuntu和win
  • windows无法升级
  • ServiceLayer.exe - ServiceLayer是什么进程 有什么用
  • win7数据保护
  • win7提示0x000000c1
  • linux多线程编程电子书
  • linux命令删除指定目录
  • 打开word显示
  • win10预览文件怎么显示内容
  • surface使用
  • android 一个activity多个layout
  • ftp上传网站的步骤
  • 安装perl模块
  • 微信小程序模板框架
  • java script教程
  • Python内置函数的应用操作
  • unity3d性能优化之贴图科普篇
  • 玩转cmd命令
  • python抢红包
  • android 保存密码
  • mysql数据类型大全
  • Windows环境下搭建Python开发环境的方法
  • 文章标题的作用有哪些?
  • 增值税预缴税款在主表怎么填写
  • 3000劳务报酬如何缴税
  • 怎么打印电子社保
  • 中国税务干部
  • 外汇管理数字外管平台怎么登录
  • 煤炭资源税税率选煤税率多少黑龙江
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设