vue el-input 输入框下拉显示匹配数据
创始人
2024-11-15 13:11:58
0
1、效果图:

2、需求&实现:

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

3、具体代码实现:

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

{{item.queryType}}:0,spanNoData:Number(item.number)==0}">{{item.number}}

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-popover         document.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.data           this.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;             }           }         }       }

 

相关内容

热门资讯

微信拼三张房卡怎样开/新西游大... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
微信里玩炸金花房卡在哪弄/新蓝... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
微信链接炸金花房卡怎样买/战皇... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
我买炸金花房卡链接/新518大... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
有没有卖炸金花链接房卡/牛牛链... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
斗牛微信房卡怎么购买/牛魔王大... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受更...
微信炸金花链接怎么买房卡/斗牛... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
微信斗牛购买房卡方法/新九五大... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...
如何购买炸金花房间房卡/微信牛... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
微信拼三张房间卡怎么弄/欢乐游... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
炸金花链接房卡怎么搞的/牛牛链... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
微信里玩炸金花房卡链接充值/微... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
在哪里买斗牛微信房卡/新鸿狐大... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享受...
微信链接牛牛房卡怎样买/新荣耀... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...
微信链接炸金花房卡怎样买/新鸿... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
拼三张房卡多少钱一张/青鸟大厅... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
拼三张房卡如何充值/新琉璃大厅... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
微信玩链接炸金花房卡/狂飙大厅... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
微信的牛牛房卡怎么弄/新蓝鲸大... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享受...
斗牛如何开好友房间房卡/新猴王... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...