news 2025/12/26 18:09:51

elementUI的select下拉框如何下拉加载数据?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
elementUI的select下拉框如何下拉加载数据?

前言

相信大家都遇到过一个问题,select下拉选项数据特别多,要设置为分页,那么前端如何弄成下拉加载数据呢?来看看我是怎么弄的吧。

先来看看效果

template代码

<el-select v-model="formDataModel[item.key]":placeholder="'请选择' + item.label"filterable remote clearable:remote-method="remoteMethod"@clear="handleClear"@blur="handleBlur"><divclass="options"v-infinite-scroll="load":infinite-scroll-disabled="disabled"v-loading="isLoading"><el-option v-for="(item, index) in options":key="index":label="item.name":value="`${item.name}-${item.id}`"></el-option><pclass="load-text"v-if="loading">加载中...</p><pclass="load-text"v-if="noMore">没有更多了</p></div></el-select>

js代码

// 弹框组件是否显示@Prop({type:Boolean,default:false})isShow!:boolean;@Watch('isShow',{immediate:true})handleShowChange(val:boolean){if(val){this.keyword='';this.pageIndex=1;this.getOptions();}}// 清空选项publichandleClear(){this.remoteMethod('');}// 处理失去焦点publichandleBlur(){setTimeout(()=>{if(!this.formDataRef.formDataModel.VBIFieldName){this.remoteMethod('');}},500);}//#region 下拉加载开始publicpageIndex=1;publicoptions:any[]=[];publicloading=false;// 总数publictotal=0;getnoMore(){returnthis.options.length>=this.total;}getdisabled(){returnthis.loading||this.noMore;}publicasyncload(){this.pageIndex+=1;this.getVBIFieldNameOptions();}//#endregion 下拉加载结束publickeyword='';publicisLoading=false;//获取选项publicasyncgetOptions(){if(this.pageIndex===1){// 搜索loadingthis.isLoading=true;}else{// 下拉加载loadingthis.loading=true;}try{letfetchApi:any;letparamsData={pageIndex:this.pageIndex,pageSize:10,name:this.keyword};const{data:{data:{records,total}}}=awaitfetchApi(paramsData);letlist=records??[];if(this.pageIndex===1){this.options=list;}else{this.options=[...this.options,...list];}this.total=total;}finally{if(this.pageIndex===1){// 搜索loadingthis.isLoading=false;}else{// 下拉加载loadingthis.loading=false;}}}// 根据输入框的值远程查询publicasyncremoteMethod(query:string){this.pageIndex=1;this.keyword=query;this.getVBIFieldNameOptions();}

css代码

.options{.load-text{margin:0;text-align:center;color:#999;font-size:12px;}}

结语

大家可以参考一下实现逻辑,代码可能不能直接使用。

关注我,不迷路。
不定时分享前端相关问题以及解决方案。
希望能帮助每个在开发类似功能的小伙伴。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/25 2:07:34

Open-AutoGLM到底有多强:从零开始掌握自动化大模型生成核心技术

第一章&#xff1a;Open-AutoGLM到底有多强&#xff1a;从零开始掌握自动化大模型生成核心技术Open-AutoGLM 是近年来开源社区中备受瞩目的自动化大模型生成框架&#xff0c;它融合了提示工程、模型微调与任务编排三大能力&#xff0c;能够在无需人工干预的前提下完成从数据预处…

作者头像 李华
网站建设 2025/12/22 16:20:23

表征学习与代码理解的融合难题,Open-AutoGLM是如何突破的?

第一章&#xff1a;表征学习与代码理解的融合难题&#xff0c;Open-AutoGLM是如何突破的&#xff1f;在深度学习与程序分析的交叉领域&#xff0c;如何让模型真正“理解”代码语义&#xff0c;而非仅依赖语法模式匹配&#xff0c;一直是核心挑战。传统方法多将代码转化为抽象语…

作者头像 李华
网站建设 2025/12/22 16:19:41

RePKG工具终极指南:轻松提取Wallpaper Engine精美资源

RePKG工具是一款专为Wallpaper Engine设计的强大资源提取解决方案&#xff0c;能够将PKG格式文件中的精美壁纸资源一键转换为可用的图片格式。无论你是壁纸创作者、游戏资源爱好者还是技术探索者&#xff0c;这款开源工具都能帮助你深度挖掘Wallpaper Engine中的隐藏宝藏。 【免…

作者头像 李华
网站建设 2025/12/22 16:18:44

【巨详细】漏洞挖掘新手指南:零基础从理论到实操,全步骤拆解 + 工具大全,吃透看这一篇就够!

初学者最好不要上手就去搞漏洞挖掘&#xff0c;因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫&#xff0c;而且难度较大…… 较合理的途径应该从漏洞利用入手&#xff0c;不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料&#xff0c;分析研究的多了&#xff…

作者头像 李华
网站建设 2025/12/26 18:15:03

3步配置智慧树插件:实现智能学习的完整方案

3步配置智慧树插件&#xff1a;实现智能学习的完整方案 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 你是否也在为智慧树网课的繁琐操作而烦恼&#xff1f;手动点击下…

作者头像 李华