在一个表格中,对某列数据,进行筛选 显示,
我现在的方法给 每行的数据 增加一个 临时属性
通过更改 show:boolean 这个值达到不显示的目的
[
{name:'小明',show:true}
{name:'小王',show:false}
]
这里有个问题,每次拿到数据, 都要遍历增加 show 属性
保存又要 遍历 删除这个属性
所以感觉不是很完美
有没有更好的方法
在一个表格中,对某列数据,进行筛选 显示,
我现在的方法给 每行的数据 增加一个 临时属性
通过更改 show:boolean 这个值达到不显示的目的
[
{name:'小明',show:true}
{name:'小王',show:false}
]
这里有个问题,每次拿到数据, 都要遍历增加 show 属性
保存又要 遍历 删除这个属性
所以感觉不是很完美
有没有更好的方法
用计算属性,过滤数据源,显示的时候遍历计算属性
<div id="app">
关键字:<input type="text" v-model="keyword" />
<div v-for="item in result">{{ item.name }}</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var vue = new Vue({
el: '#app',
data: {
keyword:'',
list:[
{ name: '小明' },
{ name: '小王' }
]
},
computed: {
result() {
if (this.keyword)
return this.list.filter(i => i.name.includes(this.keyword));
return this.list
}
}
});
</script>