位置: 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怎么安装)

  • onedrive是什么软件(onedrive是什么软件可以关闭吗)

    onedrive是什么软件(onedrive是什么软件可以关闭吗)

  • 华为荣耀9x支持蓝牙耳机吗(华为荣耀9x支持快充吗)

    华为荣耀9x支持蓝牙耳机吗(华为荣耀9x支持快充吗)

  • 抖音如何开直播呢(抖音如何开直播步骤)

    抖音如何开直播呢(抖音如何开直播步骤)

  • word圆圈11符号怎么打出来(word中带圆圈的11怎么打)

    word圆圈11符号怎么打出来(word中带圆圈的11怎么打)

  • 8p指纹突然不能用了(iphone8p指纹突然不能用)

    8p指纹突然不能用了(iphone8p指纹突然不能用)

  • 抖音是阿里系还是腾讯系的(抖音是不是属于阿里)

    抖音是阿里系还是腾讯系的(抖音是不是属于阿里)

  • kwdownload是什么文件夹(kwdownload可以删除吗)

    kwdownload是什么文件夹(kwdownload可以删除吗)

  • 为什么打电话没有显示(为什么打电话没声音,微信有声音)

    为什么打电话没有显示(为什么打电话没声音,微信有声音)

  • 手机号码存在不安全情况不能注册qq(手机号码存在不安全情况)

    手机号码存在不安全情况不能注册qq(手机号码存在不安全情况)

  • 滴滴是派单还是抢单(第一次跑滴滴怎么接单)

    滴滴是派单还是抢单(第一次跑滴滴怎么接单)

  • 在腾讯视频买的东西在哪里看订单(在腾讯视频买的电影可以分享吗)

    在腾讯视频买的东西在哪里看订单(在腾讯视频买的电影可以分享吗)

  • 腾讯会议退出会显示吗(腾讯会议退出会议主持人可以看见吗)

    腾讯会议退出会显示吗(腾讯会议退出会议主持人可以看见吗)

  • 微信按日期怎么查与谁聊天(微信怎么选择日期)

    微信按日期怎么查与谁聊天(微信怎么选择日期)

  • 手机自动截屏怎么回事(手机自动截屏怎么取消设置)

    手机自动截屏怎么回事(手机自动截屏怎么取消设置)

  • qq相册视频怎样导出(qq相册视频怎样导出到电脑)

    qq相册视频怎样导出(qq相册视频怎样导出到电脑)

  • 小米6原装电池是什么牌子(小米6原装电池多少毫安)

    小米6原装电池是什么牌子(小米6原装电池多少毫安)

  • qq音乐怎么绑定微信(qq音乐怎么绑定小度音箱)

    qq音乐怎么绑定微信(qq音乐怎么绑定小度音箱)

  • word的模板在哪儿(word模板在哪个选项卡)

    word的模板在哪儿(word模板在哪个选项卡)

  • vivo控制中心设置下滑(vivo手机的控制中心从哪儿找?)

    vivo控制中心设置下滑(vivo手机的控制中心从哪儿找?)

  • cad怎么输入英文字母(cad2010怎么改成中文)

    cad怎么输入英文字母(cad2010怎么改成中文)

  • 华为p30支持快充吗(华为P30支持快充吗)

    华为p30支持快充吗(华为P30支持快充吗)

  • mcmnhdlr.exe是什么进程 能删掉吗 mcmnhdlr进程查询(lnmgr.exe是什么)

    mcmnhdlr.exe是什么进程 能删掉吗 mcmnhdlr进程查询(lnmgr.exe是什么)

  • dedecms站内搜索和tag标签不支持大写字母的解决办法(搜索站内内容)

    dedecms站内搜索和tag标签不支持大写字母的解决办法(搜索站内内容)

  • 个所得税计算方法
  • 企业所得税人数包括劳务派遣吗
  • 社保本期工资总额是怎么填的
  • 房地产收入成本确认
  • 土地承包经营合同无效情形
  • 房租转租怎么处理合法
  • 异地施工增值税发票如何开具
  • 公司向个人租赁设备
  • 公司为什么要员工提供房产证
  • 代扣代缴个税手续费返还怎么操作
  • 停车管理费收费依据
  • 所得税费用是在哪个科目
  • 弥补以前年度亏损从哪里取数
  • 以前年度损益结转到什么科目
  • 企业向国有银行贷款的利率
  • 非公益性赠送该怎么进行会计处理?
  • 工伤医疗费会计分录
  • 或有资产是指
  • 劳务派遣 税务
  • 公司账户替别人过账
  • 奖金扣税标准税率表
  • 公司用车年检
  • 累进税率的特点是课税对象的数额越大,税率越
  • 报销怎么打
  • 为什么系统弹出登录此网络
  • service5.exe - service5是什么进程 有什么用
  • 进程 com surrogate
  • 个人专利奖励是什么意思
  • 加利福尼亚湾在哪
  • 在双方发生纠纷时品牌授权书的法律意义
  • 购进运输服务取得的增值税专用发票准予抵扣进项税额吗
  • 自定义max函数
  • chat功能
  • wordpress使用教程
  • 营改增后租金收入交什么税
  • python tkinter ttk
  • 小规模的企业所得税怎么计算
  • 公司注册资金多好还是少好
  • 税务机关代开的增值税发票要加盖发票专用章吗?
  • 计提应收账款坏账准备属于谨慎性吗
  • 发工资是用借记卡还是储蓄卡
  • 普通发票上的银行账户有规定吗
  • 企业增值税专用发票抵扣流程
  • 即征即退的收入如何处理
  • sql server2000中事务的类型有
  • 一般纳税人开具的普票可以抵扣吗
  • 私车公用产生的费用如何入账
  • 每月扣除的公积金怎么查
  • 个体工商户的个税起征点
  • 哪些合同需要缴税
  • 如果非货币性资产会怎样
  • 发票已付款,可以开红字吗
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 房地产企业以土地入股如何交纳企业所得税
  • Ubuntu下MySQL中文乱码的问题解决
  • bios设置的完整说法
  • 图形工具的作用
  • centos 命令大全
  • kvm虚拟机是什么
  • win7系统怎么更改桌面图标大小
  • newdot.exe - newdot是什么进程 有什么用
  • windows8任务栏在下面怎么不显示
  • win10系统自定义设置
  • node.js实战
  • ms-dos7.10如何安装
  • 万向节锁到底是什么
  • node遍历文件夹
  • unity 求角度
  • jQuery解析XML 详解及方法总结
  • Android应用开发实训
  • python django运行
  • ruby元编程第二版
  • 置顶快手作品怎么弄
  • 莱钢生产什么产品
  • 200平交多少契税
  • 山东农村土地补贴每亩多少
  • 税控盘清卡的步骤
  • 漳州市医保缴费标准
  • 海南海葬需要多少费用
  • 2022年印花税最新规定反映了什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设