vue el-input 输入框下拉显示匹配数据

1、效果图:

2、需求&实现:

输入条件 下面匹配查询到的数据有多少个 需要调用后端接口展示,后端查询到之后返回条数 前端展示

3、具体代码实现:

html: 图片需要自己根据实际情况增加  // 查询 重置 筛选  本文章只写查询 重置和更多筛选逻辑自行添加

<divclass="topSearch"ref="topSearch"><div class="top-search-group"><el-popoverplacement="bottom"width="500px"trigger="manual"v-model="visible"ref="popover"popper-class="peopleSelectPopper"><divclass="linkageDiv"v-for="(item,index) in queryList":key="index"><div @click="linkageDivClick(item)">{{item.queryType}}:<span :class="{spanData:Number(item.number)>0,spanNoData:Number(item.number)==0}">{{item.number}}</span>条</div></div><divstyle="display:flex;"slot="reference"><el-inputwidth="500px"placeholder="请输入查询条件1/查询条件2/查询条件3/查询条件4/查询条件5/查询条件6"size="medium"@input="debouncedInput"@click.native="openPopover"v-model="queryDataLabel"ref="input"></el-input><divclass="searchBtn"style="font-size:20px;width: 46px;height: 40px;padding:0px"@click="getGridDataEvt('search', true)"><imgsrc="../../assets/images/search.png"alt=""></div></div></el-popover><divclass="iconBtn"@click="getGridDataEvt('reset')"><el-tooltipclass="item"effect="dark"content="重置"placement="top"><imgsrc="../../assets/images/chongzhi.png"alt=""></el-tooltip></div><el-tooltipclass="item"effect="dark"content="筛选"placement="top"><divclass="iconBtnShaixuan":class="{active:!searchFilterFlag}"@click="searchFilterFlagClick()"><imgv-if="!searchFilterFlag"src="../../assets/images/shaixuanClick.png"alt=""></div></el-tooltip></div></div>

js代码逻辑

//接口需要自己引入
import { selectNum } from "@/api/xxxx"
export default {data() {return {searchFilterFlag: false,visible: false,//初始的一些查询条件searchData: {queryData: "",orderByKeyWord: "",ascOrDesc: "",orderByRule: "",},queryDataLabel: "",queryList: [{queryType: `查询条件1`,queryParam: "workNo",number: 0,},{queryType: `查询条件2`,queryParam: "personName",number: 0,},{queryType: `查询条件3`,queryParam: "pmpName",number: 0,},{queryType: `查询条件4`,queryParam: "phone",number: 0,},{queryType: `查询条件5`,queryParam: "graduationInstitution",number: 0,},{queryType: `查询条件6`,queryParam: "insurancesPlace",number: 0,},],timer: null,queryParam: "",}},mounted() {//增加一个全局监听 方便点击其他位置可以关闭el-popoverdocument.addEventListener('click', this.handleDocumentClick);},methods: {//点击查询条件的每一条数据linkageDivClick(item) {this.visible = false;// 我们需要把这个值给后端传过去this.queryParam = item.queryParam;// 原本的查询条件中 searchData 所有值需要置空for (let key in this.searchData) {this.searchData[key] = ""}this.searchData[item.queryParam] = this.queryDataLabel;//去调用查询接口 this.getGridDataEvt('search', false)},openPopover() {this.visible = true;this.debouncedInput(this.queryDataLabel)},// 下拉框查询接口debouncedInputApi(val) {selectNum({ queryData: val }).then(res => {if (res.code == 200) {let data = res.datathis.queryList.forEach(item => {for (let key in data) {if (item.queryParam == key) {item.number = data[key]}}})} else {this.$message.error('数据获取失败');}}).catch(err => {this.$message.error(err.msg);})},// 输入框触发debouncedInput(val) {clearTimeout(this.timer);//   防抖this.timer = setTimeout(() => {this.debouncedInputApi(val)}, 500);},},beforeDestroy() {//清除定时clearTimeout(this.timer);// 移除监听document.removeEventListener('click', this.handleDocumentClick);},}

样式style  具体效果还是需要自己微调 

.topSearch {height: 80px;width: calc(100% - 20px);display: flex;align-items: center;justify-content: center;.top-search-group {height: 40px;width: 750px;display: flex;align-items: center;span {width: 100%;}::v-deep .el-input__inner {height: 40px;border-radius: 4px 0 0 4px;}::v-deep .el-input-group__append {background: #0096f1;color: #fff;}.searchBtn {cursor: pointer;background: #008ee4;display: flex;align-items: center;justify-content: center;border-radius: 0 4px 4px 0;}.iconBtn {margin-left: 10px;width: 42px;height: 40px;cursor: pointer;background: #ffffff;border-radius: 4px;border: 1px solid #dcdfe6;display: flex;align-items: center;justify-content: center;}.iconBtnShaixuan {margin-left: 10px;width: 42px;height: 40px;cursor: pointer;background: #ffffff;border-radius: 4px;border: 1px solid #dcdfe6;background: url("../../assets/images/shaixuan.png");background-repeat: no-repeat;background-position: center center;&:hover {background: url("../../assets/images/shaixuanClick.png");background-repeat: no-repeat;background-position: center center;}}.active {background: #ebf7ff;border-radius: 4px;border: 1px solid #cbebff;display: flex;align-items: center;justify-content: center;&:hover {background: #ebf7ff;}}}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391407.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

delphi 12 学习如何登陆网站下载文件

启动时等待验证码. 输入验证码后,等待处理数据 处理完成后,显示数据 实现原理:利用已有的账号和密码登录后产生的cookie,向服务器请求数据.返回的数据是JSON格式,后期需要自己整理. 注意,请在程序中使用同一个TnetHttpClient控件来完成.因为里面保存了cookie信息 需要了解的知…

btslab靶场-通过xss获取他人cookie并利用

目录 安装 通过xss获取cookie cookie利用 安装 下载btslab靶场链接&#xff1a;https://pan.baidu.com/s/1I9ZgzlZEWdobINGQUhy7Jw?pwd8888 提取码&#xff1a;8888 用phpEnv或者phpStudy部署好靶场环境&#xff08;这里就省略了&#xff09; 通过xss获取cookie 先访问…

Golang | Leetcode Golang题解之第316题去除重复字母

题目&#xff1a; 题解&#xff1a; func removeDuplicateLetters(s string) string {left : [26]int{}for _, ch : range s {left[ch-a]}stack : []byte{}inStack : [26]bool{}for i : range s {ch : s[i]if !inStack[ch-a] {for len(stack) > 0 && ch < stack…

通过Java实现插入排序(直接插入,希尔)与选择排序(直接选择,堆排)

目录 &#xff08;一&#xff09;插入排序 1.直接插入排序 &#xff08;1&#xff09;核心思想&#xff1a; &#xff08;2&#xff09;代码实现&#xff08;以从小到大排序为例&#xff09;&#xff1a; &#xff08;3&#xff09;代码分析&#xff1a; 2.希尔排序&#xff08…

MQ消息队列篇:三大MQ产品的必备面试种子题

MQ有什么用&#xff1f; MQ&#xff08;消息队列&#xff09;是一种FIFO&#xff08;先进先出&#xff09;的数据结构&#xff0c;主要用于实现异步通信、削峰平谷和解耦等功能。它通过将生产者生成的消息发送到队列中&#xff0c;然后由消费者进行消费。这样&#xff0c;生产…

(四)activit5.23.0修复跟踪高亮显示BUG

一、先看bug 在 &#xff08;三&#xff09;springboot2.7.6集成activit5.23.0之流程跟踪高亮显示 末尾就发现高亮显示与预期不一样&#xff0c;比如上面的任务2前面的箭头没有高亮显示。 二、分析原因 具体分析步骤省略了&#xff0c;主要是ProcessInstanceHighlightsResour…

【iOS】暑假第二周——网易云APP 仿写

目录 前言首页关于UINavigationBarAppearance “我的”账号夜间模式——多界面传值遇到的问题所用到的其他知识整理NSNotificationreloadData各种键盘模式 总结 前言 有了之前仿写ZARA的基础&#xff0c;本周我们仿写了网易云APP&#xff0c;在这里对多界面传值进行了首次应用—…

算力共享中神经网络切片和算力分配策略

目录 神经网络切片 按照算力的分布进行网络层数切片;就是算力越强,运算神经网络层数越多 神经网络切片和算力占比进行映射 算力分配策略 get_current_shard 神经网络切片 按照算力的分布进行网络层数切片;就是算力越强,运算神经网络层数越多 神经网络切片和算力占比进…

【MySQL】索引——索引的引入、认识磁盘、磁盘的组成、扇区、磁盘访问、磁盘和MySQL交互、索引的概念

文章目录 MySQL1. 索引的引入2. 认识磁盘2.1 磁盘的组成2.2 扇区2.3 磁盘访问 3. 磁盘和MySQL交互4. 索引的概念4.1 索引测试4.2 Page4.3 单页和多页情况 MySQL 1. 索引的引入 海量表在进行普通查询的时候&#xff0c;效率会非常的慢&#xff0c;但是索引可以解决这个问题。 -…

PHP中关于排名和显示的问题

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

RabbitMQ应用场景及特性

RabbitMQ是一款开源的消息队列中间件&#xff0c;拥有非常好用的管理控制面板&#xff0c;类似使用navicat一样&#xff0c;简便的操纵数据库。 应用场景 一、流量削峰 在一些并发量较高的场景下&#xff0c;比如秒杀活动&#xff0c;抢票等&#xff0c;同一时间访问量急剧增…

【Linux】shell命令与Linux权限的概念

目录 一、shell命令二、Linux权限的概念2.1 Linux权限的概念2.1.1 用户2.1.2 指令2.1.2.1 su指令2.1.2.2 sudo指令 2.2 Linux权限管理2.2.1 文件访问者的分类&#xff08;人&#xff09;2.2.2 文件类型和访问权限&#xff08;事物属性&#xff09;2.2.2.1 文件类型2.2.2.2 基本…

[240804] OpenTofu 1.8.0 发布,带来更友好的编码体验 | 生成式 AI 滥用现象分析

目录 OpenTofu 1.8.0 发布&#xff0c;带来更友好的编码体验生成式 AI 滥用现象分析 OpenTofu 1.8.0 发布&#xff0c;带来更友好的编码体验 OpenTofu 1.8.0 现已发布&#xff0c;主要功能包括&#xff1a; 变量和局部值的早期求值: 现在可以在模块源、后端配置和状态加密等更…

使用 1panel面板 部署 springboot 和 vue

代码仓库&#xff1a;还没弄 目录 网站介绍安装步骤1. 准备云服务器2. 准备域名&#xff08;可跳过&#xff09;3. 安装1panel面板4. 服务器开放端口5. 进入1panel面板6. 安装并启动软件&#xff08;服务器和面板开放端口&#xff09;7. 打包并上传项目7.1 打包 Java项目&#…

网页保护用户 小tips

在使用创建web开发的过程中&#xff0c;直接使用用户名url&#xff0c;容易造成用户信息的被攻击&#xff0c;例如对方直接访问 ../../.../username 的网页&#xff0c;可以窃取用户信息&#xff0c;然而把usename变成一堆乱码就安全的多 效果&#xff1a; 代码&#xff1a;…

想做抖音短视频,视频素材去哪里找啊?

各位抖音上的短视频创作者们&#xff0c;是否曾幻想过自己的作品能够在全网爆火&#xff0c;却常因为缺少那些能够让视频更加生动的素材而感到困扰&#xff1f;不用担心&#xff0c;今天我要为大家介绍几个优秀的视频素材网站&#xff0c;让你的抖音之路顺风顺水&#xff01; …

星环科技与宁夏银行“大数据联合实验室”揭牌,持续打造金融科技新范式

5月30-31日&#xff0c;2024向星力未来数据技术峰会期间&#xff0c;在峰会现场来宾共同见证下&#xff0c;星环科技与宁夏银行“大数据联合实验室”正式揭牌&#xff0c;宁夏银行股份有限公司首席信息官崔彦刚与星环科技副总裁邱磊共同为联合实验室揭牌。 星环科技与宁夏银行借…

【每日刷题】Day92

【每日刷题】Day92 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 面试题 16.05. 阶乘尾数 - 力扣&#xff08;LeetCode&#xff09; 2. 取近似值_牛客题霸_牛客网 (n…

4. 最长公共前缀

4. 最长公共前缀 题目题目分析 题目 题目分析 首先要对字符串数组进行分析&#xff0c;字符串数组元素的最长公共前缀肯定不会超过最小元素长度&#xff0c;并如存在公共前缀则需遍历整个字符串元素&#xff0c;有点像二维数组&#xff0c;最后加上截取字符串加上判空操作就完…

测试——Selenium

内容大纲: 什么是自动化测试 什么是Selenium Selenium工作原理 Selenium环境搭建 Selenium API 目录 1. 什么是自动化测试 2. 什么是Selenium 3. Selenium工作原理 4. Selenium环境搭建(java) 5. Selenium API 5.1 定位元素 5.1.1 CSS选择器定位元素 5.1.2 XPath定位元…