我有一个类似“ 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/

10-12 05:28