Element UI input输入框实现模糊查询

2023-10-29

Element UI的input输入框进行搜索的时候(根据输入内容提供对应的输入建议)有个坑,它只能用第一个字进行搜索,不能够实现模糊匹配,下面的方法就是填这个坑。

原来搜“奖”,后台给返回数据,但是不会出现下拉框。

例如:

 只要搜“抽”才出现下拉框

解决后实现效果:

代码如下: 

    <el-row class="demo-autocomplete">
                <el-col :span="12">
                  <el-autocomplete
                    class="inline-input"
                    v-model="name"
                    :fetch-suggestions="querySearch"
                    placeholder="请输入内容"
                    :trigger-on-focus="false"
                    @select="handleSelect"
                    @input="changeData"
                  ></el-autocomplete>
                </el-col>
     </el-row>
<script>
export default {
  data() {
    return {
      name:"",//藏品名称
      restaurants: [],
    }
  },

  methods: {
    querySearch(queryString, cb) {
      var restaurants = this.restaurants;
      var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
      cb(results);

    },
    createStateFilter(queryString) {
      return (state) => {
        return (state.value.toLowerCase().indexOf(queryString.toLowerCase()) > -1);
      };
    },
    //@select 点击选中建议项时触发
    handleSelect(item) {
      this.name=item.value
      this.select=item.value
      this.getnumber()
    },
    //@input 在 Input 值改变时触发
    changeData(value){
      if(value!=''){
        this.handleChange()
      }else {
        this.image = ''
        this.select=""
      }
    },
    // 接口
    async handleChange() {
      let param={
        type:"collection",
        name:this.name
      };
      await this.$api.operateMgmt
        .synthesisWorks(param)
        .then((res) => {
          if (res.code == 200) {
            this.restaurants=res.data.map(item=>{
              return{
                value:item.title
              }
            })
            this.image=res.data[0].image
            this.worksId=res.data[0].id
          } else {
            this.$message({
              message: res.message,
              type: "error",
              duration: this.common.duration,
            });
          }
        });
    },
}
</script>

重点:

createStateFilter(queryString) {
      return (state) => {
        return (state.value.toLowerCase().indexOf(queryString.toLowerCase()) > -1);
      };
    },
//这里大于-1可以实现模糊查询,如果你要搜“奖”,就会搜到含“奖”的所有字

如果使用Element UI里面的

      createFilter(queryString) {
        return (restaurant) => {
          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
        };
      },
//这里等于0只能搜“奖”开头的字

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Element UI input输入框实现模糊查询 的相关文章

随机推荐

  • 用SQL语句从AD中读取用户相关属性 从AD中读取用户的相关属性

    参考原文链接 http www myexception cn sql server 1011477 html EXEC sp addlinkedserver ADSI Active Directory Services 2 5 ADSDSO
  • 从隔离中崛起:我重新梳理的‘大厂面试指南’助你一战成就职业巅峰

    在这个独特的时期 求职者们面临着前所未有的挑战 而我希望通过这份重新梳理的 大厂面试指南 能够为他们提供有力的支持和指导 我深知 面试是一个关键的环节 能否在众多竞争者中脱颖而出 决定着求职者能否顺利进入理想的大厂 现在 V2 0版的 大厂
  • 解决Error: Cannot find module 'node-sass'问题

    今天在运行angular前端的时候出现了以下的问题 解决办法 1 在项目目录cmd下运行 npm install g cnpm registry https registry npm taobao org 2 下载成功后再运行 cnpm i
  • Node.js在数据库进行多条件模糊查询的sql技巧

    实现简单的前台输入框查询筛选出内容包含的数据 使用ajax请求后台 后台拦截后再交给逻辑处理层 controller 再在dao层进行sql语句的查询并返回数据给逻辑层 blog search function req resp let s
  • 【多线程】ThreadPoolExecutor 类的使用详解

    ThreadPoolExecutor 构造方法 ThreadPoolExecutor共4个构造方法 咱们直接看参数最多的7个参数分别代表 public ThreadPoolExecutor 线程池核心线程数 int corePoolSize
  • 蓝桥云课——数字三角形 Python(动态规划)

    由于本人还在复习考研 留给蓝桥杯的时间不会太多 能不能拿奖还另说 听天由命吧 题目地址 数字三角形 一道比较简单的动态规划题目 比较适合新手学习 从动态规划三部曲开始走 1 先确认dp方程含义 在这我们采用二维数组 每个数组用来储存最大的值
  • Typora文本颜色设置

    Typora文本颜色设置 前言 方法一 使用markdown语法的内联公式 设置颜色 文本颜色设置公式 常用的颜色公式代码表 效果预览 方法二 使用html代码 设置颜色 文本颜色设置公式 颜色代码 方法三 借助第三方软件AutoHotKe
  • 数据库之SqlSessionTemplate源码解析

    前言 在普遍的JAVA WEB项目的实际业务处理中 最终都是通过SqlSessionTemplate执行数据库的CURD操作 本文结合mybatis源码 对SqlSessionTemplate进行详细的介绍 SqlSessionTempla
  • 【微信小程序】微信小程序怎么让tabbar右上角的红点动起来,闪烁红点。

    1 需要用到两个API分别是wx showTabBarRedDot 和wx hideTabBarRedDot wx showTabBarRedDot 显示 tabBar 某一项的右上角的红点 wx hideTabBarRedDot 隐藏 t
  • ERC20接口下USDT代币的深入解析

    ERC20代币合约规则简介 ERC20 是各个代币的标准接口 ERC20 代币仅仅是以太坊代币的子集 为了充分兼容 ERC20 开发者需要将一组特定的函数 接口 集成到他们的智能合约中 以便在高层面能够执行这些操作 获得代币总供应量 获得账
  • Hbase存储方式

    Hbase概念 HBase是一个分布式的 面向列的数据库它介于nosql和RDBMS之间 仅能通过主键 row key 和主键的range来检索数据 仅支持单行事务 可通过hive支持来实现多表join等复杂操作 主要用来存储非结构化和半结
  • do{}while(0)的用法

    这几天在看代码的时候遇到了一个好像很神奇的用法 do while 0 do while 1 我能理解 就是一直循环 然后在循环体内设置跳出条件 或者干脆就不跳出 那do while 0 是干嘛的呢 在内部也改变不了循环条件 然后执行一次就结
  • 测试-1-基础篇

    基础概念 一 相关概念 1 软件测试 2 软件测试和研发的区别 3 软件开发的生命周期 4 需求 5 什么是 BUG 6 什么是测试用例 二 开发模型 1 瀑布模型 2 螺旋模型 3 增量模型 4 迭代模型 5 敏捷开发 三 测试模型 1
  • usb的pid和vid

    根据USB 规范的规定 所有的USB设备都有供应商ID VID 和产品识别码 PID 主机通过不同的VID和PID来区别不同的设备 VID和PID都是两个字节长 其中 供应商ID VID 由供应商向USB执行论坛申请 每个供应商的VID是唯
  • 【课程作业经验】盘古α模型数据集生成以及训练初始化问题解决方案

    盘古模型代码及指导 models Models of MindSpore Gitee com 环境 华为云ModelArts Ascend 8 Ascend 910 Mindspore 1 5 1 PyTorch 1 8 一 盘古数据集生成
  • 前后端中的异步和事件机制

    前言 在前后端程序设计开发工作中 小伙伴们一定都接触过事件 异步这些概念 出现这些概念的原因之一是 我们的代码在执行过程中所涉及的逻辑在不同的场合下执行时间的期望是各不相同的 为了尽量做到充分利用CPU等资源做尽可能多的事 免不了通过异步和
  • 处理跨域问题

    1 vue hr2 1234567890 gitee com 2 画图 整个的登录流程 3 画图解释 vue cli的proxy代理解决跨域问题 4 cookie和localStorage区别 存储大小 cookie 一般不超过4K 因为每
  • 毕业设计-基于街景影像中行人车辆检测方法 -YOLO

    目录 前言 课题背景和意义 实现技术思路 一 方法理论 二 试验与分析 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目
  • 特征变换:特征归一化(Normalization)作用以及方法 Min-Max、Z-Score

    为什么需要对特征数据进行归一化 1 在基于梯度下降的算法中 使用特征归一化方法将特征统一量纲 能够提高模型收敛速度和最终的模型精度 1 如上图所示 黄色的圈圈图代表的是两个特征的等高线 其中左图两个特征 X1 和 X2 的区间相差非常大 X
  • Element UI input输入框实现模糊查询

    Element UI的input输入框进行搜索的时候 根据输入内容提供对应的输入建议 有个坑 它只能用第一个字进行搜索 不能够实现模糊匹配 下面的方法就是填这个坑 原来搜 奖 后台给返回数据 但是不会出现下拉框 例如 只要搜 抽 才出现下拉