登录时,所有用户都得到相同的菜单列表。但是,我需要根据他们的角色使用react-admin为不同的用户显示不同的菜单项。
const cardActionStyle = {
zIndex: 2,
display: 'inline-block',
float: 'right',
};
const PostShowActions = ({ permissions, basePath, data, resource }) => (
<CardActions style={cardActionStyle}>
<EditButton basePath={basePath} record={data} />
{permissions === 'admin' &&
<DeleteButton basePath={basePath} record={data} resource={resource} />
}
</CardActions>
);
export const PostShow = ({ permissions, ...props }) => (
<Show actions={<PostShowActions permissions={permissions} />} {...props}>
<SimpleShowLayout>
<TextField source="title" />
<RichTextField source="body" />
{permissions === 'admin' &&
<NumberField source="nb_views" />
}
</SimpleShowLayout>
</Show>
);
答案 0 :(得分:0)
更改组件功能以能够控制台记录权限道具,例如
const Component = ({permissions, ...props}) => {
console.log("permissions", permissions)
return <YourComponentRendering/>
}
如果权限对象未定义,则可以从React-Admin导入<WithPermissions>
以便对组件具有权限。检查Authorization了解更多信息。