首页 > 解决方案 > 根据用户权限显示菜单列表

问题描述

当我登录时,我为所有用户获得了相同的菜单列表。但是,我需要使用 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>
);

标签: reactjsreact-admin

解决方案


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

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

如果权限对象未定义,您可以<WithPermissions>从 React-Admin 导入,以便在您的组件上拥有权限支持。检查授权以获取更多信息。


推荐阅读