小编给大家分享一下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;
}
},
}
以上是“vue如何实现input输入框关键字筛选检索列表数据展示功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!