位置: IT常识 - 正文

如何vue使用ant design Vue中的select组件实现下拉分页加载数据,并解决存在的一个问题。(ant desgin-vue)

编辑:rootadmin
如何vue使用ant design Vue中的select组件实现下拉分页加载数据,并解决存在的一个问题。     需求:拉下菜单中数据过多,200条以上,就会导致select组件卡死。所以需要使用滑动到底部使其分页加载

推荐整理分享如何vue使用ant design Vue中的select组件实现下拉分页加载数据,并解决存在的一个问题。(ant desgin-vue),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:antd of vue,antdv vue,ant+vue,antd of vue,vue-ant,vue+antd,vue+antd,vue+antd,内容如对您有帮助,希望把文章链接给更多的朋友!

    可以借助 onPopupScroll 事件来监听下拉菜单的滚动事件,并判断当前是否已经到达了下拉菜单底部。具体可以通过以下步骤实现:

    1、在组件中绑定 @popupScroll回调事件

<a-select v-model="Form.governmentDirectors" @popupScroll="handlePopupScroll" > <a-select-option v-for="i in queryPageData" :value="i.id" :key="i.id" >{{ i.fullName }}</a-select-option > </a-select>

    2、在事件处理函数中,获取当前dom节点下滑的距离和滚动的位置。

handlePopupScroll(e) { const { target } = e; const { scrollTop, scrollHeight, clientHeight } = target; if (scrollTop + clientHeight == scrollHeight) { // 已经到达底部,触发分页逻辑 // todo 这里就可以触发加载下一页请求 具体函数根据当前业务需求来定 handlePagination(); }}

    分页逻辑例子:主要是页码++,数据追加(concat)

querypageFn() { const params = { page: this.querypage.page, size: this.querypage.size } queryListPage(params).then((res) => { if (res.data.code === 0) { if (res.data.data.length === 0) { return } else { this.queryPageData = this.queryPageData.concat(res.data.data) } } }) },    以上基本实现了使用a-select下拉框组件实现下拉分页加载数据,下面我们来说一下我遇到的坑。

当浏览器大小缩放为正常100%是没有问题的,可以正常下拉

如何vue使用ant design Vue中的select组件实现下拉分页加载数据,并解决存在的一个问题。(ant desgin-vue)

并且打印了scrollTop, scrollHeight, clientHeight三个属性的关系

    但是当浏览器缩放大小调整不是100%后 我们下拉框滑到底部,是不会继续请求的,这时控制台也没有报错,接口返回也没有什么问题。

console.log(scrollHeight, scrollTop, clientHeight, 'llslsl')

以下为打印的内容 分辨率为125%的时候,我们会发现 scrollTop发现偏差,导致条件等式不成立

    到现在我就彻底慌了,难道scrollTop属性和浏览器分辨率有关。查阅资料后还真的是。

可以这样解释:当分辨率发生变化时,页面的布局和尺寸也会发生相应的变化,导致元素的位置和大小产生了变化。而 e.target 是指触发事件的元素,在这个元素尺寸和位置发生变化之后,它的 scrollTop 属性自然也会受到影响。

具体地说,当元素的高度变大或缩小时,它的内容区域的总高度也会发生相应的变化,进而影响到 scrollTop 属性的值。例如,当元素高度变大时,它的内容就需要滚动更多的距离才能到达顶部,因此 scrollTop 属性的值也会相应地增大;而当元素高度变小时,则需要滚动更少的距离才能到达顶部,因此 scrollTop 属性的值也会相应地减小。

以上是分辨率变化对 e.target 的 scrollTop 属性的影响的一个粗略解释。需要注意的是,具体的影响还取决于其他因素,如CSS样式、页面结构等因素的变化。如果具体情况下需要深入了解 e.target 的 scrollTop 属性是如何受到影响的,可以通过调试工具等手段进行进一步的排查和分析。

    说一下解决方案吧,我发现无论怎么变大变小  scrollTop 的偏差都会在2以内。所以我们需要改一下if判断里面的判断方式。

if (scrollTop + 2 + offsetHeight >= scrollHeight) 

    以上我们手动给他把这个偏差加上2,并且把等式换为大于等于,我们就能完美解决此bug,我一开始以为是歪点子,现在总结之后发现这是一个合适解决方案哦!

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

上一篇:云计算技术(ICT)课后习题答案(云计算技术是学什么的)

下一篇:【torch.nn.Parameter 】参数相关的介绍和使用

  • 快手怎样建立亲密关系(快手怎样建立亲友关系)

    快手怎样建立亲密关系(快手怎样建立亲友关系)

  • 朋友圈怎么看别人有没有屏蔽你(朋友圈怎么看别人是否浏览过)

    朋友圈怎么看别人有没有屏蔽你(朋友圈怎么看别人是否浏览过)

  • 拼多多退款怎么退到微信零钱(拼多多退款怎么撤销申请)

    拼多多退款怎么退到微信零钱(拼多多退款怎么撤销申请)

  • 小米手机可以设置陀螺仪吗(小米手机可以设置虚拟定位吗)

    小米手机可以设置陀螺仪吗(小米手机可以设置虚拟定位吗)

  • 麒麟980跟骁龙855差距大吗(麒麟980跟骁龙855哪个好)

    麒麟980跟骁龙855差距大吗(麒麟980跟骁龙855哪个好)

  • 京东退款后京贴返还吗(退货后京东金贴)

    京东退款后京贴返还吗(退货后京东金贴)

  • 苹果11手机圆点怎么设置取消(苹果11手机圆点怎么设置出来)

    苹果11手机圆点怎么设置取消(苹果11手机圆点怎么设置出来)

  • 投影仪怎么连接音响(投影仪怎么连接手机)

    投影仪怎么连接音响(投影仪怎么连接手机)

  • 把对方加入黑名单还能看到朋友圈吗(把对方加入黑名单,对方知道吗)

    把对方加入黑名单还能看到朋友圈吗(把对方加入黑名单,对方知道吗)

  • 华为bkl-al20是什么型号手机(华为BKLAL20是什么型号)

    华为bkl-al20是什么型号手机(华为BKLAL20是什么型号)

  • 电脑太卡换什么配件(电脑太卡换什么硬件)

    电脑太卡换什么配件(电脑太卡换什么硬件)

  • 什么手机视频聊天有美颜功能(什么手机视频聊天不会迷糊的)

    什么手机视频聊天有美颜功能(什么手机视频聊天不会迷糊的)

  • vga什么意思(在微机中vga什么意思)

    vga什么意思(在微机中vga什么意思)

  • 华为手机腾讯会议录屏为什么没有声音(华为手机腾讯会议蓝牙权限怎么开)

    华为手机腾讯会议录屏为什么没有声音(华为手机腾讯会议蓝牙权限怎么开)

  • 无限流量限流怎么办(无限流量限流怎么恢复)

    无限流量限流怎么办(无限流量限流怎么恢复)

  • 小米9透明版如何反向充电(小米透明版如何换电池)

    小米9透明版如何反向充电(小米透明版如何换电池)

  • 滴滴司机绕路怎么赔偿(滴滴司机绕路怎么惩罚)

    滴滴司机绕路怎么赔偿(滴滴司机绕路怎么惩罚)

  • 什么是智慧屏电视(智慧屏啥意思)

    什么是智慧屏电视(智慧屏啥意思)

  • home键怎么设置 (home键怎么设置出来)

    home键怎么设置 (home键怎么设置出来)

  • ppt怎么制作动画小人(ppt怎么制作动画路径)

    ppt怎么制作动画小人(ppt怎么制作动画路径)

  • 天猫怎么撤销退款申请(天猫如何撤销退款申请退款)

    天猫怎么撤销退款申请(天猫如何撤销退款申请退款)

  • 网易考拉怎么申请会员(网易考拉怎么入驻商家)

    网易考拉怎么申请会员(网易考拉怎么入驻商家)

  • 电脑4g和8g的区别(电脑4g内存和8g)

    电脑4g和8g的区别(电脑4g内存和8g)

  • linux系统很卡的基本排查方法介绍(linux太卡顿)

    linux系统很卡的基本排查方法介绍(linux太卡顿)

  • WordPress为旧文章批量设置特色图(wordpress文章保存在哪里)

    WordPress为旧文章批量设置特色图(wordpress文章保存在哪里)

  • phpcms怎么修改后台文章排序(phpcms默认密码)

    phpcms怎么修改后台文章排序(phpcms默认密码)

  • 赠送给客户的库存商品怎么做账
  • 投资收回的现金
  • 费用多报销了,但已经给了,怎么办
  • 缺少订单停工费用如何做账
  • 有形动产租赁属于营改增吗
  • 其他应收款收到发票怎么写会计分录
  • 发放遗属补助还要拍照片吗山东
  • 预销售符合退款条件的商品记什么分录
  • 付款单位与开票单位不一致如何做账?
  • 资产处置损益属于收入吗
  • 土地增值税清算的条件
  • 建筑装饰行业会计分录
  • 会计中预付款包括
  • 工程未竣工如何结算
  • 付款金额比发票金额少怎么办
  • 发给一个人的说说
  • 居委会有没有税收政策
  • 车辆租赁的增值税率
  • 兼兼的意思
  • 其他应收款无法收回的会计分录
  • 全额计提坏账的款项收回
  • 汽车行业销售折让
  • 有形动产租赁服务和不动产租赁服务的区别
  • 向人力资源公司辞职怎么说
  • 合同取得成本和增量成本有什么区别
  • 融资租赁的利息可以税前扣除吗
  • 资产负债表中资产项目的排列顺序是
  • Win11截图工具怎么设置快捷键
  • paypal授权书怎么填
  • php数组函数大全
  • 农场新区
  • 企业收入的具体表现
  • 土耳其棉花堡位置
  • 车辆购置税征收对象
  • 前端项目部署到nginx
  • 会计怎么区别法定维修义务和合同义务
  • php有多简单
  • 怎样创建一个网站
  • 金银首饰以旧换新增值税处理
  • bert模型能做什么
  • react基础入门
  • 2021前端热门技术解读
  • python3.4 numpy
  • 会议费需要纳税调整吗
  • mac node-gyp
  • vue导航方式
  • mysql客户端怎么使用
  • php网站根目录
  • uni appp
  • 含税与不含税的区别是什么
  • sql server 2016使用
  • 汇算清缴补缴所得税摘要怎么写的
  • 房租没有发票如何处理
  • 进出口贸易公司取名字大全
  • 银行承兑汇票到期日后多久可以承兑
  • 进货没开票销售开票了
  • 少数股东权益如何保障
  • 选择税的计算方法
  • 股权投资如何记账
  • 印花税减免额不能为零怎么填
  • 系统问题怎么处理
  • 怎么提高xp系统运行速度
  • win7中文显示问号
  • mac阻止itunes自动弹出
  • 如何在win7系统中查看电脑基本信息
  • win8如何更改用户名字?
  • win10系统字体不清晰
  • 粒子冲突
  • NGUI的UIScrollview的优化
  • 如何让w10系统运行更快
  • reg add命令
  • 修改文件名ren
  • js字符串去掉最后两位
  • JavaScript开发技巧
  • 安卓抽象类
  • android开发遇到的技术难点
  • python中django
  • javascript总结笔记
  • 省税务局属于什么级别
  • 四川投诉电话查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设