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

标签 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"

我有带有 Angular 色列表的用户模型。

// 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 中意识到这一点,在这种情况下,使用段,效果很好。虽然它根本不适用于我的项目。

最佳答案

从 id 获取对象并使用它:

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

关于javascript - 如何不仅将 id 而且将完整对象传递到数组列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48145542/

相关文章:

javascript - 使用reduce 将数组转换为对象数组

node.js - 将变量值从react构造函数传递到nodeJS后端

javascript - 如何在服务器端呈现时禁用或阻止 ReactJS 查找文档?

reactjs - 如何防止MUI Accordion 膨胀?

reactjs - Material UI - 如何更改 FormControlLabel 中标签的字体大小

javascript - 动态添加 block 到 GrapesJS

javascript - 清除不同表上的匹配单元格(无序列)

javascript - 如何保证邀请码在Redis中是唯一的

javascript - 我试图将我的 sportsPerson 格式化为仅大写的第一个字母

javascript - MoreVert图标不可见 Material ui