位置: 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 】参数相关的介绍和使用

  • ios14设置4位数密码(ios14.2怎么设置四位数密码)

    ios14设置4位数密码(ios14.2怎么设置四位数密码)

  • 华为荣耀9x屏幕多长(华为荣耀9x屏幕亮度)

    华为荣耀9x屏幕多长(华为荣耀9x屏幕亮度)

  • 腾讯视频会员怎么给别人用(腾讯视频会员怎么分享给别人)

    腾讯视频会员怎么给别人用(腾讯视频会员怎么分享给别人)

  • 华为nova6手机卡槽在哪里(华为nova6手机卡槽打不开)

    华为nova6手机卡槽在哪里(华为nova6手机卡槽打不开)

  • 魅族开发者选项不见了(魅族开发者选项怎么关闭)

    魅族开发者选项不见了(魅族开发者选项怎么关闭)

  • 苹果11怎么看内存(苹果11怎么看内外屏坏)

    苹果11怎么看内存(苹果11怎么看内外屏坏)

  • 桌面日期时间在哪设置(桌面时间显示日期)

    桌面日期时间在哪设置(桌面时间显示日期)

  • 天猫积分能干什么(天猫积分可以干什么用的)

    天猫积分能干什么(天猫积分可以干什么用的)

  • 路由器亮红灯连不上网(路由器亮红灯连不上网,终端设备亮黄灯是怎么回事)

    路由器亮红灯连不上网(路由器亮红灯连不上网,终端设备亮黄灯是怎么回事)

  • 电脑省电模式唤醒不了(电脑省电模式唤醒不起来)

    电脑省电模式唤醒不了(电脑省电模式唤醒不起来)

  • qq挂号什么意思(qq挂号安全吗)

    qq挂号什么意思(qq挂号安全吗)

  • 快手表情包为什么没了(快手表情包为什么那么糊)

    快手表情包为什么没了(快手表情包为什么那么糊)

  • 爆屏是什么意思(爆屏还能继续用吗?)

    爆屏是什么意思(爆屏还能继续用吗?)

  • 手机不关机影响寿命吗(苹果手机不能关机怎么办)

    手机不关机影响寿命吗(苹果手机不能关机怎么办)

  • 哔哩哔哩tv投屏不见了(哔哩哔哩tv投屏1080)

    哔哩哔哩tv投屏不见了(哔哩哔哩tv投屏1080)

  • 拼多多注销后重开算新用户吗(拼多多注销后重新注册后实名认证还有吗)

    拼多多注销后重开算新用户吗(拼多多注销后重新注册后实名认证还有吗)

  • 钉钉重新提交有显示吗(钉钉重新提交有记录吗)

    钉钉重新提交有显示吗(钉钉重新提交有记录吗)

  • 腾达f3路由器是多少兆(腾达f3路由器是什么牌子)

    腾达f3路由器是多少兆(腾达f3路由器是什么牌子)

  • 苹果x有快充吗(苹果x有快充吗手机)

    苹果x有快充吗(苹果x有快充吗手机)

  • 苹果手机在哪设置指纹(苹果手机在哪设置陌生号码拦截)

    苹果手机在哪设置指纹(苹果手机在哪设置陌生号码拦截)

  • 把照片内存变小20k(手机怎么降低照片大小kb)

    把照片内存变小20k(手机怎么降低照片大小kb)

  • 淘宝预售退货定金退吗(淘宝预购退款)

    淘宝预售退货定金退吗(淘宝预购退款)

  • 华为mate30怎样关机(华为mate30怎样关闭多余页面)

    华为mate30怎样关机(华为mate30怎样关闭多余页面)

  • 拼多多九块九入口在哪(拼多多9块9是不是真的?)

    拼多多九块九入口在哪(拼多多9块9是不是真的?)

  • 二维码扫一扫使用了什么识别方式(二维码扫一扫使用了什么识别功能)

    二维码扫一扫使用了什么识别方式(二维码扫一扫使用了什么识别功能)

  • 存储卡a1和a2的区别是什么(存储卡a2什么意思)

    存储卡a1和a2的区别是什么(存储卡a2什么意思)

  • 荣耀20i的返回键在哪(荣耀20i设置返回键)

    荣耀20i的返回键在哪(荣耀20i设置返回键)

  • 谷歌浏览器调试vue项目(谷歌浏览器调试窗口怎么放下面)

    谷歌浏览器调试vue项目(谷歌浏览器调试窗口怎么放下面)

  • python文件的三大访问方式(python文件可分为哪几类)

    python文件的三大访问方式(python文件可分为哪几类)

  • 车船税税金及附加计入管理费用嘛
  • 税收的经济效应是指税收对纳税人生产
  • 补提去年所得税会计分录怎么写
  • 财务软件回收
  • 计提所得税会计处理
  • 计入固定资产和其他资产
  • 去年的亏损今年第一季度可以弥补吗
  • 发生福利费的会计分录
  • 怎么让银行同意商转公
  • 逾期缴纳车辆购置税后情况说明怎么写
  • 管理费用 结转
  • 给员工发中秋福利
  • 无形资产研发成功并申请专利
  • 建筑资质挂靠费用怎么写会计分录?
  • 哪些可用商业汇票结算?
  • 报销发票财务一旦作废报销人可以收回吗?
  • 签合同交什么照片比较好
  • 分拆业务所涉及客户
  • 其他公司代付工资怎么做
  • 出口专用发票可抵扣吗
  • 每期折旧怎么算
  • 补交以前年度工会经费所得税如何申报
  • 公司用备用金去哪里投诉
  • 评估资产没有发票和流水怎么办
  • 去年的进项票今年可以抵吗
  • 开票的增值税与附加税
  • 技术转让免征增值税文件
  • 忘记excel工作表保护密码怎么办
  • 为什么电脑开启了摄像头但是看不见
  • 运费用会计分录
  • 电脑右下角弹出网页没有×怎么关闭
  • 税控盘不交服务费的后果
  • 收到对方公司开的发票怎么做账
  • php使用教程
  • vue移动和pc两套代码
  • 财务管理公司属于什么行业类别
  • 微信小程序的视频怎么下载
  • PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
  • sql server2016使用
  • php自动生成文章
  • php无限分类实现不实用递归
  • 专项应付款借方余额表示
  • linux清理文件内容
  • okhttp源码
  • 流动资产的含义及常见项目
  • 合伙企业个人所得税税率表
  • 无偿受赠房屋 交个人所得税嘛
  • 计提工资大于实发工资企业所得税怎么算
  • 以前年度的企业所得税怎么入账
  • 如何把access数据库导入excel
  • 事业单位以资产为准吗
  • 如何网上填报个人所得税
  • 材料成本差异的会计分录
  • 公司章程在工商局盖章需要什么
  • 动漫产业增值税率是多少
  • 可供出售金融资产公允价值变动
  • 公司没有车加油费怎么报
  • 现金余额出现负数的原因
  • 营业税费是借还是贷
  • 非包销的视同买断的账务处理是?
  • 业务招待费可以计入销售费用吗
  • CREATE FUNCTION sqlserver用户定义函数
  • sql参数化还是被注入了
  • XP系统无法安装软件
  • 微软招聘流程
  • win8分盘怎么分
  • mac自动排序
  • -mtime +3详解 linux
  • linux系统编译命令
  • importem
  • javascript函数用法
  • 移动端一般用什么布局
  • Node.js中的construct
  • python和java对接
  • python多线程怎么写
  • unity script api
  • python嵌套语句
  • perl常用函数
  • 山东2022新生儿数量统计表
  • 开票时间超时怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设