当前位置: 首页 > article >正文

element-plus+vue3前端如何根据name进行搜索查到符合条件的数据

界面如图,下面的区域是接口给的所有的,希望前端根据输入的内容自己去匹配。

我是使用的element-plus+vue3+ts的写法。

<el-input v-model="filters.region" placeholder="输入区域搜索" @keyup="filterRegion(filters.region)"></el-input>
import {useDebounceFn} from "@vueuse/core/index";
let allRegions=ref([{id:1,name:'区域1'},{id:1,name:'区域12'},{id:1,name:'区域31'},{id:1,name:'区域14'},{id:1,name:'区域15'},{id:1,name:'区域16'}]);
let initallRegions=ref([]);//这里重新定义一个变量保存初始的allRegions数据,以避免修改了allRegions之后找不到最初的值了

initallRegions.value=allRegions.value;

const filterRegion= useDebounceFn((queryString: string) => {
    console.log(queryString)
    if(queryString!=''){
      let newArr=[];
      initallRegions.value.forEach(res=>{
        if(res.name.indexOf(queryString)!=-1){
          newArr.push(res)
        }
      })
      allRegions.value=newArr;
    }else{
      allRegions.value=initallRegions.value;
    }
  },100)

主要的原理还是使用indexOf去找他的name匹配的值。并且注意如果搜索内容是空的话还是要显示全部的内容的。

useDebounceFn‌是一个用于处理防抖函数


http://www.kler.cn/a/534713.html

相关文章:

  • 设计模式——策略模式
  • AWS门店人流量数据分析项目的设计与实现
  • python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法
  • Vue 图片引用方式详解:静态资源与动态路径访问
  • 51c视觉~CV~合集10
  • C#使用实体类Entity Framework Core操作mysql入门:从数据库反向生成模型2 处理连接字符串
  • async-http-client使用示例
  • Linux网络 | 理解NATPT, 数据链路层Done
  • 如何查看 MySQL 是否处于运行状态
  • 开放式TCP/IP通信
  • Android 自定义View的详解
  • html转PDF文件最完美的方案(wkhtmltopdf)
  • 【机器学习】训练(Training)、验证(Validation)和测试(Testing)
  • Linux内核链表
  • 从0开始达芬奇(3.8)
  • 【Spring Boot】解锁高效安全之门:登录令牌技术的实战应用与价值解析
  • Oracle 变更redo log文件位置
  • Java 大视界 -- Java 大数据在智能教育中的应用与个性化学习(75)
  • 【重生之学习C语言----杨辉三角篇】
  • AWS Copilot
  • 威联通NAS桌面图标消失后恢复术
  • k8s部署rabbitmq
  • PCL 最小包围圆(二维)
  • IEEE 802.3/802.2 | LLC / SNAP
  • 配置Apache本地服务支持PHP8--易错点
  • [创业之路-285]:《产品开发管理-方法.流程.工具 》-1- IPD的功能列表以及导入步骤