ElementUI 2.x 输入框回车后在调用接口进行远程搜索功能

ops/2024/10/11 4:30:10/

输入框回车后在调用接口进行远程搜索功能

主要思路

默认的远程搜索会在输入框聚焦的时候就展示下拉弹窗,而我们需要的是在回车之后才展示下拉弹窗

具体代码

<divv-for="(domain, index) in formData.domains"class="dynamic-input":key="domain.key"><el-form-item:prop="'domains.' + index + '.memberName'"label="会员名称"><div :class="{ formItemSearch: isHidden }"><el-autocompleteclass="inline-input"v-model.trim="domain.memberName":disabled="domain.mainFlag === 1":fetch-suggestions="querySearch":popper-append-to-body="false"placeholder="请输入会员名称"ref="autocomplete"@select="handleSelect"@keyup.enter.native="handleSearch(domain)"></el-autocomplete></div></el-form-item><el-form-item:prop="'domains.' + index + 'creditCode'"label="统一社会信用代码"><el-inputv-model="domain.creditCode":disabled="domain.mainFlag === 1"></el-input></el-form-item><el-button@click.prevent="removeDomain(domain)"v-if="domain.mainFlag === 0 && formData.domains.length > 2">删除</el-button><p v-if="domain.mainFlag === 1">主操作会员</p>
</div>
</div><script>javascript">
// 添加会员
addDomain() {this.formData.domains.push({memberName: "",mainFlag: 0,memberCode: "",creditCode: "",key: Date.now(),});
},
// 删除会员
removeDomain(item) {var index = this.formData.domains.indexOf(item);if (index !== -1) {this.formData.domains.splice(index, 1);}
},// 回车后搜索
handleSearch(domain) {this.isHidden = false; // 打开下拉框this.querySearch(domain.memberName, this.cbFun, false, domain);
},// 自动填写相应信用码
handleSelect(item) {this.formData.domains.filter((i) => {return item.key === i.key;})[0].creditCode = item.creditCode;// 选择完成后关闭下拉建议框this.isHidden = true;
},// 搜索
querySearch(queryString, cb, isHidden = true, domain) {let results = [];this.cbFun = cb;if (isHidden) {this.isHidden = true;} else {this.isHidden = false;// 调用企查查接口Api.getVipInfoByQcc(queryString).then(({ data: data }) => {if (data.data.length > 0) {this.qccList = data.data.map((item) => {return {value: item.name,creditCode: item.creditCode,No: item.No,key: domain.key,};});cb(this.qccList);	} else {cb(results);}}).catch((err) => {cb(results);});}
}
</script>
<style >// 查询下拉框.formItemSearch .el-autocomplete .el-autocomplete-suggestion {display: none !important;}
</style>

http://www.ppmy.cn/ops/123806.html

相关文章

设计模式-备忘录模式

备忘录&#xff08;Memento&#xff09;模式&#xff1a;在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在改对象之外这个状态&#xff0c;从而可以在以后将该对象恢复到原先保存的状态。 就是实现的思路&#xff1a;就是可变化的类中关联中 备忘录对…

【Vue】vue-admin-template项目搭建

准备 node环境 node&#xff1a;v16.12.0npm&#xff1a;8.1.0 vue-element-admin下载 官网&#xff1a;https://panjiachen.github.io/vue-element-admin-site/guide/ 我这边下载的是4.4.0版本的&#xff0c;使用其他版本可能会因为所需要的node和npm版本过低或过高导致异常…

vue2项目的路由使用history模式,刷新会导致页面404的问题

在vue2项目中&#xff0c;如果我们使用的路由是history模式&#xff0c;刷新会导致页面404&#xff0c;解决方法很简单&#xff0c;在vue.config.js文件中的devServer下增加historyApiFallback: true; 代码如下: module.exports {devServer: {historyApiFallback: true,} }

protobuf之Message

简介 Message是protobuf的消息抽象类&#xff0c;是其它通过protoc生成的自定义消息的基类 结构 #mermaid-svg-u5iAZNpfIH5hQrlP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-u5iAZNpfIH5hQrlP .error-icon{fil…

初始项目托管到gitee教程,开箱即用

0.本地仓库与远程仓库关联&#xff08;需先在gitee创建仓库&#xff09; ①打开powershell生成ssh key ssh-keygen -t ed25519 -C "Gitee SSH Key"-t key 类型-C 注释 生成成功如下&#xff0c;并按下三次回车 ②查看公私钥文件 ls ~/.ssh/输出&#xff1a; id_…

128陷阱源码级分析

一、引言 在Java编程中&#xff0c;128陷阱是一个与操作符和equals()方法有关的常见问题&#xff0c;特别是在比较Integer对象时。这个陷阱涉及到Java的自动装箱&#xff08;Autoboxing&#xff09;和整数缓存机制&#xff08;Integer Cache&#xff09;。本文将详细分析128陷…

yolov5-7.0模型DNN加载函数及参数详解(重要)

yolov5-7.0模型DNN加载函数及参数详解&#xff08;重要&#xff09; 引言yolov5&#xff08;v7.0&#xff09;1&#xff0c;yolov5.h(加载对应模型里面的相关参数要更改)2&#xff0c;main主程序&#xff08;1&#xff09;加载网络&#xff08;2&#xff09;检测推理&#xff0…

路径跟踪之导航向量场——二维导航向量场

今天带来一期轨迹跟踪算法的讲解&#xff0c;首先讲解二维平面中的导航向量场[1]。该方法具有轻量化、计算简便、收敛性强等多项优点。该方法根据期望的轨迹函数&#xff0c;计算全局位置的期望飞行向量&#xff0c;将期望飞行向量转为偏光角&#xff0c;输入底层控制器&#x…