欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue input输入框关键字筛选检索列表数据展示

程序员文章站 2023-08-17 22:48:01
想必大家在项目开发中难免会用到关键字筛选的功能,正好这次项目有需求要做这一块,就整理一下vue的input输入框输入关键字检索数据列表的代码。下面直接上代码: html:...

想必大家在项目开发中难免会用到关键字筛选的功能,正好这次项目有需求要做这一块,就整理一下vue的input输入框输入关键字检索数据列表的代码。下面直接上代码:

html:

<!-- 筛选demo -->
<template>
 <div>
  <input type="text" v-model="search">
  <ul>
   <!-- 注意!注意!注意!这里循环遍历的是items,不再是data里的list数组 -->
   <li v-for="(item,index) in items">
    <span>{{item.name}}</span>
    <span>{{item.msg}}</span>
   </li>
  </ul>
 </div>
</template>

匹配(所有||单个)字段 > js:

export default {
 data () {
  return {
   search:'',
   list:[
    {name:'aaa',msg:'aaa文本介绍1'},
    {name:'bbb',msg:'bbb文本介绍2'},
    {name:'ccc',msg:'ccc文本介绍3'},
    {name:'ddd',msg:'ddd文本介绍4'},
    {name:'eee',msg:'eee文本介绍5'},
   ]
  }
 },
 
 computed: {
  //过滤方法
  items: function() {
   var _search = this.search;
   if (_search) {
    //不区分大小写处理
    var reg = new regexp(_search, 'ig')
    //es6 filter过滤匹配,有则返回当前,无则返回所有
    return this.list.filter(function(e) {
     //匹配所有字段
     return object.keys(e).some(function(key) {
      return e[key].match(reg);
     })
     //匹配某个字段
     // return e.name.match(reg);
    })
   };
   return this.list;
  }
 },
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。