根据用户权限显示菜单列表

时间:2019-04-15 13:12:55

标签: reactjs react-admin

登录时,所有用户都得到相同的菜单列表。但是,我需要根据他们的角色使用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>
);

1 个答案:

答案 0 :(得分:0)

更改组件功能以能够控制台记录权限道具,例如

const Component = ({permissions, ...props}) => {
  console.log("permissions", permissions)
  return <YourComponentRendering/>
}

如果权限对象未定义,则可以从React-Admin导入<WithPermissions>以便对组件具有权限。检查Authorization了解更多信息。