位置: IT常识 - 正文

【uniapp】上拉触底加载更多的两种方式,组件里面和页面里面 scroll-view组件和onReachBottom触底方法,以及部分安卓机型scroll-view很难触发问题,且可以固定表头(uniapp scroll-view 上下滑动)

编辑:rootadmin
【uniapp】上拉触底加载更多的两种方式,组件里面和页面里面 scroll-view组件和onReachBottom触底方法,以及部分安卓机型scroll-view很难触发问题,且可以固定表头

推荐整理分享【uniapp】上拉触底加载更多的两种方式,组件里面和页面里面 scroll-view组件和onReachBottom触底方法,以及部分安卓机型scroll-view很难触发问题,且可以固定表头(uniapp scroll-view 上下滑动),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp的下拉框,uniapp下拉刷新和上拉加载,uniapp scroll-view 上下滑动,uniapp上下页面滑动,uniapp下拉,uniapp上拉加载带动画,uniapp上拉加载带动画,uniapp上拉加载带动画,内容如对您有帮助,希望把文章链接给更多的朋友!

一般的话scroll-view在组件里面使用,而页面里面则使用onReachBottom()这个方法居多

1,onReachBottom 上拉触底后加载更多(未固定表头)

页面结构:

<view class="box"><table border="0"><thead><th>名称</th><th style="width: 50px;">状态</th><th>上传时间</th><th style="width: 60px;">重量(kg)</th><th style="width: 50px;">类型</th></thead><tr v-for="(item,index) in utrData" :key="index" class="trs"><td>{{item.name}}</td><td>{{item.flag}}</td><td>{{item.createDt}}</td><td>{{item.weight}}</td><td>{{item.typeCode}}</td></tr></table><view class="zwsj">{{ moreContent }}</view></view>【uniapp】上拉触底加载更多的两种方式,组件里面和页面里面 scroll-view组件和onReachBottom触底方法,以及部分安卓机型scroll-view很难触发问题,且可以固定表头(uniapp scroll-view 上下滑动)

注意: 这个box的height要比屏幕的高度高5px或者10px,要不然它不会出现滚动条,没有滚动条就不会触发onReachBottom 这个触底方法了 当然,如果你确保你的数据首次查询的高度比屏幕的高度还高,那它自然就出现滚动条了,这个box就直接等于屏幕的高度就行 如果要考虑数据少于10条,且没有撑满屏幕,那这个box还是设置比屏幕高度高一点比较好.

export default {data() {return {utrData: [],//列表数组pageNum: 1, // 页数total: 0,//每页总数flag: true, // 上拉加载开关 防止一次触底查询多次问题,防止数据查完后触底还调接口问题moreContent: '上拉加载更多数据...',}},methods: {//上拉加载更多getMoreList(){this.flag = trueuni.request({...success:res => {if(res.data.status == 200){this.flag = falselet result = res.data.data || []this.utrData = this.utrData.concat(result)if(result.length == 0 && this.pageNum == 1){// 一开始就没有数据this.moreContent = '暂无数据'}else{this.total = result ? result.length : 0if(this.total < 10){// 只有一页数据,不足10条this.moreContent = '数据已加载完,共' + this.utrData.length + '条'this.flag = true}// 有很多页this.pageNum += 1}}else{this.moreContent = '暂无数据'uni.showToast({title:res.data.message,icon:'none'});}} });},},//监听页面触底函数onReachBottom(){if(!this.flag){this.getMoreList()}},}

如果没效果,先测试onReachBottom有没有触发,一般触发了基本上就没什么问题了

2,scroll-view组件上拉加载更多(固定表头)

ui组件: uview2.0 如果你不想固定表头,就不用 -37 就可以了 wx.getSystemInfoSync().windowHeight 获取当前屏幕的高度

<view class="box" :style="{height: boxHeight + 48 + 37 + 'px'}"><view class="toptitle"><u-icon name="list-dot" color="#00c9d5" size="28"></u-icon><text>具体信息</text></view><view class="content"><view class="thead"><text>code</text><text>时间</text><text>重量(kg)</text><text>类型</text><text>状态</text></view><view class="tbody" :style="{height: boxHeight + 'px'}" id="test"><scroll-viewscroll-y="true"lower-threshold="10":style="{height: boxHeight + 'px'}"@scrolltolower="scrolltolower"><view class="tableData" :style="{height: boxHeight + 10 + 'px'}"><view v-for="(item, index) in tableArr" :key="index"><text>{{ item.code }}</text><text>{{ item.create_time }}</text><text>{{ item.weight }}</text><text>{{ item.type }}</text><text>{{ item.location}}</text></view><view style="color: #aaa;"><text>{{loadingContent}}</text></view></view></scroll-view></view></view></view>export default {data() {return {tableArr: [],boxHeight: wx.getSystemInfoSync().windowHeight - 48 - 37,loadingContent: '上拉加载更多数据...',total: 0, // 每页总数pageNum: 1,// 页数flag: true, // 控制上拉翻页testHeight: 0}},methods: {// 页面滚动触发scrolltolower(e) {if(!this.flag){ this.getTable() }},// 查询表格getTable(){let params = {p: this.pageNum}this.$get('xxx', params).then(res =>{this.flag = truelet result = res.lsit || []this.tableArr = this.tableArr.concat(result)if(result.length == 0 && this.pageNum == 1){// 一开始就没数据this.loadingContent = '暂无数据'}else{this.total = result ? result.length : 0if(this.total < 10){this.moreContent = '数据已加载完,共' + this.utrData.length + '条'this.flag = true}this.flag = falsethis.pageNum += 1}})},},}3,scroll-view 部分安卓机型很难触发问题

ios用第二种方法没有问题,部分安卓用的话很难触发上拉加载更多,为什么部分安卓很难触发就不说了,自行百度

解决: @scrolltolower 方法替换为 @scroll @scrolltolower 方法是 scroll-view触底了就会触发,是触scroll-view组件的底部,不是触屏幕的底部 @scroll 方法是只要 scroll-view组件滑动了,就会触发这个方法

methods: {// 页面滚动触发scrolltolower(e) {// 距离底部<100 并且是往上滑的动作if(e.detail.scrollHeight - e.detail.scrollTop - this.testHeight <= 100 && this.flag && e.detail.deltaY < 0){this.flag = falsethis.getTable()}},// 查询表格getTable(){let params = {p: this.pageNum}this.$get('xxx', params).then(res =>{this.flag = truelet result = res.lsit || []if(result.length == 0 && this.pageNum == 1){// 一开始就没数据this.loadingContent = '暂无数据'this.flag = false}else{this.pageNum += 1this.total = result ? result.length : 0if(this.total < 10){this.moreContent = '数据已加载完,共' + this.utrData.length + '条'this.flag = false}this.tableArr = this.tableArr.concat(result)if(this.testHeight==0){let view = uni.createSelectorQuery().in(this).select("#test")view.fields({size: true,scrollOffset: true}, data => {this.testHeight=data.height}).exec();}}})},},

ok,没了,记录一下,哪里写的不对还请指出,谢谢,下期再见! ! !

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

上一篇:冰川洞穴里流动的河流,冰岛瓦特纳冰原 (© Marco Bottigelli/Getty Images)(冰川洞洞打法)

下一篇:BurpSuite安装和基础使用教程(已破解)(burp怎么安装)

  • vivox70pro+怎么添加门禁卡(vivoX70pro怎么添加门禁卡)

    vivox70pro+怎么添加门禁卡(vivoX70pro怎么添加门禁卡)

  • 苹果11可以自定义铃声吗(苹果11可以自定义图标吗)

    苹果11可以自定义铃声吗(苹果11可以自定义图标吗)

  • 美团取消极速支付的方法是什么(美团支付取消极速支付)

    美团取消极速支付的方法是什么(美团支付取消极速支付)

  • 微信群二维码可以多少个人扫(微信群二维码可以长期有效吗)

    微信群二维码可以多少个人扫(微信群二维码可以长期有效吗)

  • 微信群违规还能恢复吗(微信群违规还能解封吗)

    微信群违规还能恢复吗(微信群违规还能解封吗)

  • oppor9s怎么隐藏应用图标(oppor9plus怎么隐藏应用)

    oppor9s怎么隐藏应用图标(oppor9plus怎么隐藏应用)

  • 苹果外屏有必要换原装的吗(苹果外屏有必要换原装屏吗)

    苹果外屏有必要换原装的吗(苹果外屏有必要换原装屏吗)

  • 荣耀30pro和荣耀30pro+有什么不一样(荣耀30pro和荣耀30pro+手机壳区别)

    荣耀30pro和荣耀30pro+有什么不一样(荣耀30pro和荣耀30pro+手机壳区别)

  • 华为10plus什么时候出来的(华为手机10 plus)

    华为10plus什么时候出来的(华为手机10 plus)

  • 电话号码是空号怎么回事(电话号码是空号是啥意思)

    电话号码是空号怎么回事(电话号码是空号是啥意思)

  • 解压后压缩包可以删吗(解压后压缩包可以删除吗)

    解压后压缩包可以删吗(解压后压缩包可以删除吗)

  • oppor11怎么恢复闪充(oppor11怎么恢复照片)

    oppor11怎么恢复闪充(oppor11怎么恢复照片)

  • ipad激活服务器暂时不可用(ipadmini2激活服务器暂时不可用)

    ipad激活服务器暂时不可用(ipadmini2激活服务器暂时不可用)

  • 华为手机怎么录屏(华为手机怎么录制屏幕)

    华为手机怎么录屏(华为手机怎么录制屏幕)

  • 快手改昵称影响热门吗(快手修改了昵称受影响吗)

    快手改昵称影响热门吗(快手修改了昵称受影响吗)

  • 为什么苹果闹钟铃声已经改了但还是原来的(为什么苹果闹钟不响)

    为什么苹果闹钟铃声已经改了但还是原来的(为什么苹果闹钟不响)

  • 手机云备份有什么用(手机云备份有什么风险)

    手机云备份有什么用(手机云备份有什么风险)

  • 华为scm-w09是什么型号(scmwo9是华为什么型号)

    华为scm-w09是什么型号(scmwo9是华为什么型号)

  • 2个苹果手机怎么来电话都响(2个苹果手机怎么传照片)

    2个苹果手机怎么来电话都响(2个苹果手机怎么传照片)

  • 华为crrul20是叫什么(华为crr-cl20)

    华为crrul20是叫什么(华为crr-cl20)

  • vivo安全验证怎么取消(vivo手机安全验证怎么关闭)

    vivo安全验证怎么取消(vivo手机安全验证怎么关闭)

  • 手机微云怎么打开(手机微云怎么打开磁力)

    手机微云怎么打开(手机微云怎么打开磁力)

  • kindle青春版和经典版区别(kindle经典版和青春版哪个性价比更高)

    kindle青春版和经典版区别(kindle经典版和青春版哪个性价比更高)

  • 咸鱼交易评价怎么删除(咸鱼评价怎么处理)

    咸鱼交易评价怎么删除(咸鱼评价怎么处理)

  • x23怎么隐藏图标(x27怎么隐藏图标)

    x23怎么隐藏图标(x27怎么隐藏图标)

  • 荣耀7x导航信号弱怎么解决(荣耀7x不能导航了是怎么回事)

    荣耀7x导航信号弱怎么解决(荣耀7x不能导航了是怎么回事)

  • 微微电话呼叫失败是什么原因(微微电话呼叫失败是什么意思)

    微微电话呼叫失败是什么原因(微微电话呼叫失败是什么意思)

  • 数据类型是(在MySQL中,不存在的数据类型是)

    数据类型是(在MySQL中,不存在的数据类型是)

  • 年检更换需要什么材料
  • 增值税专用发票有效期是多长时间
  • 房租确认后能不退押金吗
  • 固定资产清理结转到什么科目
  • 购买土地自建厂房,土地怎样摊销
  • 小规模增值税纳税申报
  • 微信支付算库存现金还是银行存款
  • 业务招待费是否可以抵扣进项税
  • 网络文化传媒公司名字
  • 支付招聘费收到专票怎么记账
  • 中外合资房地产公司
  • 外商独资和中外合资的区别
  • 递延收益涉税
  • 公司收到一次性吸纳就业补贴款怎么分录
  • 企业收到财政补助项目款
  • 公司收到股东的投资款以后怎么处理
  • 个体工商户的生产、经营所得
  • 银行余额调节表模板
  • 生产企业成本核算流程及案例
  • 资产负债表其他流动资产包括什么
  • 发工资时计提个人所得税
  • 劳务分包有执照没资质能开票吗?
  • 2017年7月后手撕发票还能报销吗?
  • 长期股权投资佣金手续费计入
  • 新办企业税务办理
  • 个体户税务申报流程季度0申报
  • 税务更正申报需要哪些资料
  • 供应商给客户员工回扣有罪吗
  • 出口货物专用发票图片
  • 会计折算是什么意思
  • 苹果Mac系统怎么切换输入法
  • 公积金托收怎么变更
  • 锡特f8
  • h5的开发
  • php怎么设置图片的大小
  • php正则匹配中文
  • 2021年前端面试
  • php常用加密技术
  • 政府补助的会计准则
  • ps黑白怎么调
  • 老板财务报表模板
  • 购买方红字信息表已开销售方系统查不到
  • 银行承兑到期后几天内有效
  • MongoDB aggregate 运用篇个人总结
  • 其他应收款是如何核算的
  • 个税 收入
  • 小企业固定资产入账标准
  • 多缴纳增值税
  • 合同印花税怎么做会计分录
  • 理财到期的会计怎么做账
  • 预收款不开票怎么处理
  • 公司章程上的出资额怎么填
  • 费用化资本化对税收的影响
  • 主营业务收入一定要结转成本吗
  • win10虚拟桌面版
  • centos php apache
  • freebsd怎么安装
  • cmos是一种什么芯片
  • win7系统玩游戏
  • 怎么添加第二个人脸识别
  • 王者自动更新怎么关
  • win8系统怎么设置
  • windows8 enterprise
  • kwconfig.exe
  • win10 20h2怎么更新
  • linux的复制
  • windows图片锁屏
  • win10预览版和正式版区别
  • python中的json
  • jqueryfind
  • 批处理获取文件夹内文件名
  • perl 数组放入另一个数组
  • bootstrap基础教程
  • 粒子form
  • 河南普通发票查询真伪查询系统
  • 缴纳个人所得税怎么计算
  • 昆山市税务分局领导名单
  • 经信委和科技局的区别
  • 骗取国家出口退税罪
  • 淄博市地方税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设