Vue自定义说明的精彩使用这篇文章比较详细。还有npm包可以直接下载使用。我希望它可以帮助更多的人。如果有帮助,可以点击Star添加一个新的npm包,vue-element-utils,在element-ui中添加了一些自定义命令,比如拖动位置,宽高,下拉框滚动加载,剪贴板,etc.el-select数据处理方式在日常项目中使用频率非常高。当数据太多时,渲染时间很长。下面介绍几种处理方法。远程搜索组件提供远程搜索方式,即根据您输入的结果匹配选项。官网提供参考示例;我不会在这里详细介绍。下拉懒加载loadMore下拉懒加载,当select滚动到底部时,请求一些数据,添加到当前数据中。在组件中:exportdefault{指令:{'el-select-loadmore':{bind(el,binding){//获取element-ui定义的滚动框constSELECTWRAP_DOM=el.querySelector('.el-select-dropdown.el-select-dropdown__wrap');选择包裹_DOM.addEventListener('scroll',function(){/***scrollHeight获取元素内容的高度(只读)*scrollTop获取或设置元素的偏移值,常用于计算滚动的位置bar,当一个元素的容器没有垂直滚动条时,它的scrollTop值默认为0。*clientHeight读取元素的可见高度(只读)*如果元素滚动到底部,下面的等式返回true,否则返回false:*ele.scrollHeight-ele.scrollTop===ele.clientHeight;*/constcondition=this.scrollHeight-this.scrollTop<=this.clientHeight;if(condition){binding.value();}});}}},data(){return{value:'',options:[],formData:{pageIndex:1,pageSize:20,}};},mounted(){this.getList(this.formData);},方法:{loadmore(){这个。表单数据.p年龄指数++;this.getList(this.formData);},getList(formData){//这里是接口请求数据,分页条件const_res=[1,2,3];//请求的数据this.options=[...this.options,..._res];}}};这样就实现了滚动懒加载,具体细节在应用的时候修改。这样渲染问题就解决了,然后就会出现一个问题,就是当你的值是选中的数据之后,页面数量比较多的数据。当页面数量较少,options数据中没有当前值时,该值会显示为获取到的id。选择的时候需要保存当前的id和lable,下次来的时候把当前的组件带进来手动放到options里,就解决了这个问题。