我有一个列表,我有一个用于过滤的搜索栏,
handleSearch = e => {
const q = e.target.value
if(q){
const filtered = this.state.data.filter(o => {
return o['name'].includes(q)
})
this.setState({
data: filtered
})
}else{
this.setState({
data: this.state.source
})
}
}
这种方法的问题在于我硬编码了[' name']如果我的列表有多个属性,这就是一个问题。
答案 0 :(得分:0)
您可以使用Object.keys和Array.some:
return Object.keys(o).some(e => o[e].includes(q))