el-select:
element-ui组件中的select下拉选择组件,支持单选、多选等
虚拟列表:
虚拟列表是一种优化技术,用于处理大型列表。在传统的列表中,当用户滚动到底部时,列表会加载所有的数据,这可能导致性能问题和内存泄漏。虚拟列表通过只加载当前可见的部分数据,而不是整个列表的数据来解决这个问题。当用户滚动到新的区域时,虚拟列表会自动加载新的数据,从而提高性能和响应速度。这种技术通常与虚拟滚动结合使用,可以在保持高性能和流畅性的同时,支持大量的数据呈现。
背景:
在做管理系统,下拉选择框是个必备功能,在实际开发中,下拉数据量是不可控的,el-select虽然有过滤筛选等功能,但是如果数据过大的时候,会导致浏览器卡死,在切换页面时,销毁这个也很耗时,导致页面切换体验性很差,所以需要处理这种情况!
最简单处理方案:
默认下拉是空,只支持过滤筛选,实现:filterMethod,可以手动控制展示的数据量
最终处理方案:
用虚拟列表策略处理,重新封装el-select组件
<template>
<el-select
v-model="selected"
:filter-method="filterMethod"
:value-key="props.key ? props.key : props.value"
&