我有一个类似“ SHOW_ALL”的函数,它将返回所有正常工作的值。 “ SHOW_COMPLETED”和“ SHOW_ACTIVE”无法正常工作。
const getVisibleTodos = (todos, filter) => {
console.log("todos",todos);
switch (filter) {
case SHOW_ALL:
return todos;
case SHOW_COMPLETED:
return todos.rowData.filter(item => item.status === 'Completed');
case SHOW_ACTIVE:
return todos.rowData.filter(item => item.status === 'Active');
default:
throw new Error("Unknown filter: " + filter);
}
};
待办事项具有如下价值
const todos = {
columnDefs: [
{headerName:"Todos",field:"todos"},
{headerName:"Status",field:"status"}
],
rowData: [
{
id: 0,
todos: 'Walk the Dog',
status: 'Completed',
},
{
id:1,
todos: 'learn Redux',
status: 'Active'
}
]
}
我在做什么错?
最佳答案
返回这个(当然还有Active
):{ ...todos, rowData: todos.rowData.filter(item => item.status === 'Completed')}
您忘记了返回todos
对象的其余部分,即columnDefs
属性。
关于javascript - 如何对多个数组使用react的过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60737885/