使用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>

最新文章

  1. mybatis常见易出错
  2. SpringMVC学习记录2
  3. @property 参数
  4. 改善C#程序,提高程序运行效率的50种方法
  5. 怎么用BarTender的格式刷
  6. 使用ThreadSanitizer线程检查工具
  7. PHP ERROR : Call to undefined function curl_init()
  8. 微软职位内部推荐-Senior Development Engineer
  9. wamp的mysql密码修改
  10. codeforces 580D Kefa and Dishes(状压dp)
  11. innerHeight与clientHeight、innerWidth与clientWidth、scrollLeft与pageXOffset等属性
  12. VHDL TestBench 测试终止时自动结束仿真——assert方法
  13. 怎么查看window7的.net framework的版本
  14. xmind2013激活
  15. 微博评论箱的隐藏Bug解决
  16. [Swift]LeetCode652. 寻找重复的子树 | Find Duplicate Subtrees
  17. [Swift]LeetCode810. 黑板异或游戏 | Chalkboard XOR Game
  18. 【dotNet Core】Swagger下简单的给WebApi分组
  19. 【Coursera】Sixth Week(1)
  20. darktrace 亮点是使用的无监督学习(贝叶斯网络、聚类、递归贝叶斯估计)发现未知威胁——使用无人监督 机器学习反而允许系统发现罕见的和以前看不见的威胁,这些威胁本身并不依赖 不完善的训练数据集。 学习正常数据,发现异常!

热门文章

  1. Web渗透
  2. 0x01 Python logging模块
  3. Mac电脑永久路由的添加方法是是什么? Mac校园网连接教程
  4. Android init介绍(下)
  5. GO语言开发之路
  6. Codeforces Round #605 (Div. 3) B. Snow Walking Robot(构造)
  7. junit3和junit4的区别总结
  8. JavaScript基础05——严格模式
  9. 指数基金介绍专栏(4):上证50AH优选指数
  10. 中断点异常 STATUS_BREAKPOINT(0x80000003)