如何不仅可以将id而且还可以将完整对象传递到数组列表中

时间:2018-01-08 06:53:32

标签: javascript reactjs material-ui redux-form admin-on-rest

依赖关系:

"admin-on-rest": "^1.3.3",
"base64-js": "^1.2.1",
"react": "^16.2.0",
"react-dom": "^16.2.0"

我有一个带有角色列表的用户模型。

// User
{
    id: "abcd1234",
    name: "John Doe",
    ...
    authorities: [
        {
            id: 12345,
            authority: "USER"
        },
        {
            id: 12346,
            authority: "ADMIN"
        }
    ]
}

我使用了CheckboxArrayInput来显示复选框列表。

<ReferenceArrayInput source="authorities" reference="roles" allowEmpty>
    <CheckboxGroupInput optionText="authority" optionValue="id" addField={true} />
</ReferenceArrayInput>

当项目被检查时似乎只是将id传递给数组列表,而不是按预期填充对象

enter image description here

我意识到在Admin-on-Rest-demo中,在这种情况下使用细分,它可以正常工作。虽然它根本不适用于我的项目。

1 个答案:

答案 0 :(得分:2)

从id获取对象并使用它:

// for example if 'id' represents your checkbox option value
const authority = user.authorities.filter(auth => auth.id === id);