2

仅当用户是管理员时才希望在页面顶部显示自定义按钮。这适用于在同一页面上显示/隐藏某些字段。但由于某种原因,我无法让它在列表操作中工作。

代码:

const UserListActions = ({ permissions, ...props }) => (  
  <CardActions> . 
      <RefreshButton />  
      {permissions === 'admin' &&   
        <Button color="primary"> . 
          <SyncIcon /> Sync Users . 
        </Button> . 
      } . 
  </CardActions> . 
);

export const UserList = ({ permissions, ...props }) => (
  <List actions={<UserListActions />} title="All users" {...props} bulkActions={false}>
4

1 回答 1

2

想通了。在将权限传递给 List 的 actions 属性时,我错过了一个关键部分

const RoleListActions = ({ basePath, permissions }) => (
  <CardActions>
    {permissions === 'admin' && <SyncAwsRolesButton color="primary" />}
    {permissions === 'admin' && <CreateButton basePath={basePath} />}
    <RefreshButton />
  </CardActions>
);

export const RoleList = ({ permissions, ...props }) => (
  <List title="All roles" actions={<RoleListActions permissions={permissions} />} {...props} bulkActions={false}>
                                                    ^^ This bit right here
于 2018-08-02T19:34:21.213 回答