一个表格的过滤筛选,可能涉及多个筛选条件,this.filter
里面存的是所有筛选条件的v-model状态的一个对象,this.tableData
是从后端获取的所有原始表格数据的数组,this.filteredTableData
是过滤后的表格数据的数组。
filterTableData() {
this.filteredTableData = this.tableData.map((item, index) => {
Object.keys(this.filter).forEach(key => {
if (this.filter[key] && item[key] && item[key] === this.filter[key]) {
console.log(item)
return item
}
})
})
console.log(this.filteredTableData)
// this.paginateTableData()
},
这样写,会使得第二个console.log(this.filteredTableData)
拿到一个全部是undefined
的数组。这样的错误应该是因为forEach没法用return 跳出循环。
所以我想知道:
在使用map 且map内部最好不使用变量(使用也行吧,只是担心性能)的情况下,如何实现这个函数?
如果this.filteredTableData
的数据量特别大,有没有什么更好的办法?
肥皂起泡泡
相关分类