首页 > 其他分享 >vue实现的前端模糊匹配搜索

vue实现的前端模糊匹配搜索

时间:2023-06-13 11:04:16浏览次数:42  
标签:vue 匹配 前端 tableData label filter item 搜索 reg

vue实现的前端模糊匹配搜索

<div id="app">
    <div class="wrapper">
      <input type="text" v-model="searchText"><button @click="submit">搜索</button>
    </div>
    <table>
      <thead>
        <th>名称</th>
        <th>价格</th>
        <th>备注</th>
      </thead>
      <tbody>
        <tr v-for="(item,index) in data" :key="index">
          <td>{{item.label}}</td>
          <td>¥{{item.price}}</td>
          <td>{{item.desc}}</td>
        </tr>
      </tbody>
    </table>
  </div>

用户输入的内容动态绑定在变量searchText上,用户点击搜索触发submit方法,我们将searchText变量作为正则表达式的检测标准:

submit() {
      let text = this.searchText
      let reg = new RegExp(text) //声明正则变量
      this.data = this.tableData.filter(item => reg.test(item.label)) //返回
    }

这里使用了data变量用于存储搜索后的结果(以及绑定到表格上渲染),tableData存储表格的原始数据,目的是当用户输入空格时可以还原所有数据,this.tableData.filter(item => reg.test(item.label))是简写用法,完整为:

let func = function (item) {
        if (reg.test(item.label)) { //检测通过
          return item
        }
      }
      this.data = this.tableData.filter(func)

filter函数迭代一个数组,然后根据传入的函数筛选合适的元素并且返回一个全新的数组

 

标签:vue,匹配,前端,tableData,label,filter,item,搜索,reg
From: https://www.cnblogs.com/haonanZhang/p/17476870.html

相关文章

  • vue3之setup
    一、Vue3中script的三种写法Vue3新增了一个叫做组合式api的东西,英文名叫CompositionAPI。因此Vue3的script现在支持三种写法。1)最基本的Vue2写法setup()属性<scriptsetup>无论是代码行数,还是代码的精简度,<scriptsetup>的方式是最简单的形式。如果......
  • vue项目各文件说明
     总体框架:一个vue-cli的项目结构如下,其中src文件夹是需要掌握的,所以本文也重点讲解其中的文件,至于其他相关文件,了解一下即可。 1、build——[webpack配置]build文件主要是webpack的配置,主要启动文件是dev-server.js,当我们输入npmrundev首先启动的就是dev-server.j......
  • 后台返回前端的json数据,大写变小写的问题
    问题:在weebsocket通过向前端发送json数据,本来要发送的是BB字段,结果到了前端成了bb。后来发现是因为jackson自动转换了(估计是采用驼峰格式)。解决:在对应的属性上面添加@JsonProperty("BB")来指定要显示的字段名称@JsonProperty("Name")//可以标注到属性名privateS......
  • vue调用百度api时,跨域问题解决方案
    最近在调用百度地图,文字转语音接口的时候,用vue,js来前端实现转换,及时语音播报,遇到点问题;1.之前直接不用accessToken,一个连接拼接抓取的,已经失效了。2.查看百度文档,更新后的接口,按照文档nodejs格式,一直都是报跨域问题,单独在headers中加'Access-Control-Allow-Origin':'*'无效。......
  • 前端-CSS生成器
    按钮https://uiverse.io/buttons有好看的button、卡片、输入框等https://markodenic.com/tools/buttons-generator/玻璃态https://hype4.academy/tools/glassmorphism-generator调色板https://mycolor.space/滚动条https://scrollbar.jason-liang.com/......
  • 6.12 vue3的学习
    1.创建vue3项目:在cmd中首先找到需要保存的路径,输入vuecreate+vue项目的取名,和之前创建vue2是一样的进行如下选择 2.vite创建vue3的方式在cmd中首先输入npminitvue@latest 3.安装依赖和运行依赖#安装依赖npminstall##运行依赖npmrundev#4.vue2创建app实......
  • Vue项目学习
    Vue学习笔记一、二维数组尝试varvm=newVue({ el:"#app", data:{ huilv:[ [6.8540,132.9787,1298.7013,1.3278], [6.8540,132.9787,1298.7013,1.3278] ],}二、watch监听实现watch:{ first:function(newValue){ this.second=newValue*this.hui......
  • 通过python实现相机的立体匹配
    相机的立体匹配是一种通过双目相机拍摄同一场景的左、右两幅视点图像,运用立体匹配算法获取视差图,进而获取深度图的技术。这种技术可以用于三维重建、机器人视觉、虚拟现实等领域。本文将介绍如何使用Python实现相机的立体匹配。首先,我们需要安装OpenCV库。在命令行中输入以下命令:接......
  • vue3
    目录一Vue3的变化1.性能的提升2、源码的升级3.拥抱TypeScript4.新的特性1.CompositionAPI(组合API)2.新的内置组件3.其他改变5组合式API和配置项API5.1OptionsAPI存在的问题5.2CompositionAPI的优势6项目分析分析文件目录main.jsVue2项目的main.js我们再来看看Vue3项目中......
  • Vue3基本功能实现
    vue3介绍#Vue3的变化#1.性能的提升 打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54%#2.源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking#3.拥抱TypeScript Vue3可以更好的支持TypeScript......