У меня есть приложение React, в котором вы можете фильтровать список на основе нескольких различных свойств. В настоящее время я могу фильтровать каждую категорию по одной, но я хотел бы фильтровать сразу несколько категорий, поэтому список будет уменьшаться по мере выбора дополнительных фильтров. Затем, когда вы очистите все значения, он вернется к исходному списку. Как я могу этого добиться?
Пример моего кода
getInitialState: function() {
return {
data: this.props.data,
bender: '',
nation: '',
person: '',
show: ''
}
},
filterItems: function(val, type) {
switch (type) {
case 'bender':
this.setState({bender: val});
break;
case 'nation':
this.setState({nation: val});
break;
case 'person':
this.setState({person: val});
break;
case 'show':
this.setState({show: val});
break;
default:
break;
}
var filteredItems;
if (val) {
filteredItems = this.props.data.filter(function(item) {
return item[type] === val;
});
} else {
filteredItems = this.props.data;
}
this.setState({data: filteredItems});
}