当前位置: 首页> 教育> 大学 > 网页游戏魔域来了_公众号平台制作_大数据营销案例分析_百度网盘搜索引擎入口

网页游戏魔域来了_公众号平台制作_大数据营销案例分析_百度网盘搜索引擎入口

时间:2025/7/19 6:53:18来源:https://blog.csdn.net/tt18473481961/article/details/144429125 浏览次数:0次
网页游戏魔域来了_公众号平台制作_大数据营销案例分析_百度网盘搜索引擎入口

需求背景​​​​​​

vue2+element-ui项目中,当el-select中数据量较大时(超出5000个dom节点),会导致页面加载和渲染卡顿、el-select下拉列表延迟展开。

在现在的el-select的基础上使用分页或者虚拟列表的形式去处理大量的下拉菜单,可以保证页面的正常渲染及el-select的正常回显。

需求分析

主要涉及几个点:

1、下拉菜单主体实现虚拟展示,保证渲染效率
2、展开和关闭时要保证已选中的选项在虚拟列表内,保证回显的是 label,而不是 value
3、select 清空时,虚拟列表回归到顶部
4、下拉菜单发生改变时,重新计算滚动条长度,并回归到顶部
5、支持搜索、多选、disabled、collapse-tags场景。

完整代码

安装虚拟列表插件vue-virtual-scroller,我这边安装的是^1.1.2版本。

 封装组件virtualSelect.vue

<template><div><el-selectpopper-class="virtualselect"class="virtual-select-custom-style":value="defaultValue":filterable="field.props.filterable":filter-method="filterMethod":default-first-option="field.props.defaultFirstOption":popper-append-to-body="false":placeholder="$t(field.placeholder)":disabled="field.props.disabled":clearable="field.props.clearable":multiple="field.props.multiple":collapse-tags="field.props.collapseTags"v-bind="$attrs"@visible-change="visibleChange"v-on="$listeners"@clear="clearChange"@focus="focusChange"@change="selectChange"><div v-if="selectArr.length > 0" class="scroll-list-box"><RecycleScrollerref="virtualList":style="'height:' + calcScrollHeight() + 'px;'"class="scroller":items="selectArr":item-size="itemHeight":buffer="buffer":key-field="value"><template #default="{ item }"><el-option:key="item[value]":label="item[label]"
关键字:网页游戏魔域来了_公众号平台制作_大数据营销案例分析_百度网盘搜索引擎入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: