解决Element UI el-select数据太多造成页面卡顿
创始人
2024-12-26 09:08:38
0

问题:el-select接收后端放回的数据太过庞大(成千上万条),导致页面渲染的时候造成卡顿现象。去让后端那边重新调整数据会加大后端的工作量,如何从前端解决这个问题呢?

解决:利用触底加载方法减少资源的消耗,避免页面卡顿。监听到下拉滚动事件,当下拉宽高度+可滑动高度距离底部的距离 > 可滑动高度时,增加数据访问量。

代码实现:

      
 import { getlist } from "@/api/index"; import Vue from "vue"; Vue.directive("el-select-loadmore",{     bind(el,binding){         //获取element-ui定义好的scroll盒子         const SELECTWRAP_DOM = el.querySelector(".el-select-dropdown .el-select-dropdown__wrap")         SELECTWRAP_DOM.addEventListener("scroll",function(){             //scrollHeight 获取元素内容高度             //scrollTop 获取或设置元素的偏移值,常用于计算滚动条的位置,当一个元素的容器没有产生垂直方向的滚动条,则默认scrollTop=0.             //clientHeight 读取元素的可见高度             //ele.scrollHeight - ele.scrollTop === ele.clientHeight;如果元素滚到底等式返回true,没有返回false;             const condition = this.scrollHeight - this.scrollTop <= this..clientHeight             if(condition){                 binding.value();             }         })     } }); export default{     data(){         return {             options:[],//下拉框列表数据             value:"",             rangeNumber:10,         }     },     methods:{         //获取下拉框列表数据         getList(){             getList().then(res=>{                 this.options = res;             })         },         //下拉框搜索         filterMethod(query){             if(query){                 this.options = this.options.filter(i=>{                     return i.label.includes(query)                 })             }         },         //下拉框滚动事件         loadMore(){             //每次滚动到底部新增条数,可自定义             return ()=>this.rangeNumber += 10;         },         //下拉框失去焦点事件         blur(){             this.rangeNumber = 10;         },     }, }; 

相关内容

热门资讯

第六方案!新荣耀辅助安装,雀友... 雀友会潮汕辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信...
第七举措!雀姬手游辅助脚本,微... 第七举措!雀姬手游辅助脚本,微乐小程序免费黑科技(有挂开挂辅助软件);打开点击测试直接进入微信(13...
第二妙招!九酷互娱辅助,小程序... 小程序微乐游戏辅助器开挂教程视频分享装挂详细步骤在当今的网络游戏中,小程序微乐游戏辅助器作为一种经典...
第4手册!新祥心辅助脚本,宁夏... 宁夏微乐科技辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
一教材!新518互游脚本,财神... 一教材!新518互游脚本,财神13张辅助工具(有挂开挂辅助器);无需打开直接搜索薇:13670430...
6项目!随意玩怎么创建聚乐部,... 6项目!随意玩怎么创建聚乐部,微信道游拼十辅助器(有挂开挂辅助挂)这是一款可以让一直输的玩家,快速成...
四教材!微乐辅助软件购买平台,... 四教材!微乐辅助软件购买平台,微乐自建房脚本下载(有挂开挂辅助安装);打开点击测试直接进入微信(13...
1教材!微乐广西自建房免费黑科... 1教材!微乐广西自建房免费黑科技下载,微信微乐辅助插件(有挂开挂辅助器);无需打开直接搜索加(薇:1...
两方针!天酷辅助器,微乐小程序... 【亲,微乐小程序礼包码 这款游戏可以开挂的,确实是有挂的,很多玩家在这款微乐小程序礼包码中打牌都会发...
第7大纲!随意玩辅助器视频有挂... 微信微乐小程序有窍门吗是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以...