vue-数据列表筛选
Posted suitongyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-数据列表筛选相关的知识,希望对你有一定的参考价值。
<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> <span>{{item.age}}</span> <span>{{item.title}}</span> </li> </ul> </div> </template> <script> export default { name: "DataForm", data() { return { search:‘‘, list:[ {id:0,name:‘AAA‘,msg:‘aaa文本介绍1‘,title:‘水电费‘,age:366}, {id:1,name:‘BBB‘,msg:‘bbb文本介绍2‘,title:‘赵子龙‘,age:235}, {id:2,name:‘CCC‘,msg:‘ccc文本介绍3‘,title:‘赵性‘,age:587}, {id:3,name:‘DDD‘,msg:‘ddd文本介绍4‘,title:‘展飞‘,age:654}, {id:4,name:‘EEE‘,msg:‘eee文本介绍5‘,title:‘收费‘,age:987}, {id:5,name:‘FFF‘,msg:‘Aa文本介绍6‘,title:‘收费‘,age:6985}, ] }; }, computed:{ // 筛选指定字段 items:function(){ let _search = this.search; let reg = new RegExp(_search, ‘ig‘);// 不区分大小写 if(_search){ return this.list.filter(function(item){ if((item.id.toString().indexOf(_search) != -1) || item.msg.match(reg) || (item.age.toString().indexOf(_search) != -1)){ return item; } }); } return this.list; }, // 筛选所有的字段 itemss: function() { var _search = this.search; console.log(_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; } } }; </script>
以上是关于vue-数据列表筛选的主要内容,如果未能解决你的问题,请参考以下文章
vue2购物车ch4-(筛选v-for 点击的那个设置样式 设为默认地址其他 联动 非循环的列表选中和非选中 删除当前选中的列表)