javascript - 如何对多个数组做出反应
问题描述
我有一个像下面的函数'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
属性。
推荐阅读
- c# - 依赖注入 IDbConnection SqlConnection
- html - 如何在 JavaScript/HTML 上自动运行函数
- elasticsearch - 弹性计算每个条目的更改次数?
- anylogic - 使用 SelectOutputOut 块时无法解决错误
- postgresql - 临时表膨胀 pg_attribute
- php - Symfony 无法注册捆绑包
- ansible - Ansible 从变量中替换多行
- mongodb - 更新数组中的匹配对象
- javascript - 我的表单提交被阻止,因为框架被沙盒化并且未设置“允许表单”权限
- c# - C# AutoMapper,如何映射组计数