小程序 scroll-view 触底事件不触发问题

问题描述

前端本来触底增加页数,每页写死的10条数据,本来模拟器测试还好好的触发 scrolltolower 触底事件,但是用手机预览,看到10条数据显示的都没到底部,然后触底事件也不触发。

问题原因

scroll-view组件之上拉加载下拉刷新
微信小程序获取某个元素的高度宽度
微信小程序px和rpx之间的转换

主要原因:第一次获取的数据 item 的 总高度比 scroll-view 的实际高度小,所以不触发 => 则需要计算当前高度能显示多少个 item, 即 pageSize 的大小。

问题解决

那就计算下 pageSize,

  1. 需要设定 scroll-view 的高度或者默认。本次是使用的 uview u-list 组件,绑定 height 单位为 rpx ,所以要设置的话计算得到之后要转成 rpx 的大小。
  2. 默认获取到 最小的 Item 的高度,进行除于计算。

大体代码如下:

复制代码
					......
					:height="height"
                    @scrolltolower="scrolltolower"
                    ......

onLoad() {
     // pagesize = (list 总高度 + 5px) / item 的最小高度
     let query = wx.createSelectorQuery();
     let width = uni.getSystemInfoSync().windowWidth;
     let itemHeight = 150; // rpx
     let px = (150 / 750) * width + 1; // 转成 px
     let _me = this;
     query
         .select('.my-list')
         .boundingClientRect(function(rect) {
             let num = Math.ceil(height / px);
             _me.pageSize = num;
             _me.currentPage = 1;
             _me.totalPage = 1;
             _me.getList();
         })
         .exec();
 },

......
	scrolltolower() {
		console.log('loadmore');
	            if (this.currentPage < this.totalPage) {
	                this.currentPage++;
	                this.getList('loadmore');
	            } else {
	                console.log('没有更多数据了!');
	            }
	}
......
相关推荐
计算机毕设指导622 分钟前
基于微信小程序的电影评论与推荐社区平台【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
weixin_1772972206926 分钟前
[特殊字符]旧物新生,交易无忧——旧物回收二手交易小程序,开启绿色生活新篇章[特殊字符]
小程序·生活
muzidigbig35 分钟前
pc企微、小程序预览文件[‘pdf‘, ‘xlsx‘, ‘xls‘, ‘doc‘, ‘docx‘, ‘ppt‘, ‘pptx‘]
小程序·企业微信·pc企微打不开pdf·pc企微打不开文件
2501_916007471 小时前
在没有 Mac 的情况下完成 iOS 应用上架 App Store
android·macos·ios·小程序·uni-app·iphone·webview
说私域1 小时前
社交驱动下的商业模式进化:AI智能名片链动2+1模式S2B2C商城小程序的融合创新
人工智能·微信·小程序·开源
OctShop大型商城源码1 小时前
OctShop源码高效灵活构建小程序多用户商城
大数据·小程序·多用户商城系统·小程序商城系统·小程序多用户商城
2501_9160088911 小时前
iOS 上架需要哪些准备,账号、Bundle ID、证书、描述文件、安装测试及上传
android·ios·小程序·https·uni-app·iphone·webview
焦糖玛奇朵婷16 小时前
盲盒小程序:开发视角下的功能与体验
java·大数据·jvm·算法·小程序
FFF-X16 小时前
UniApp 小程序实现自定义每张图片播放时长的轮播图(基于 uView 的 u-swiper)
小程序·uni-app
内存不泄露19 小时前
二手物品交易平台
spring boot·小程序·django