代码之家  ›  专栏  ›  技术社区  ›  Rick Baker

无法对列表操作中的工作进行响应管理权限检查

  •  1
  • Rick Baker  · 技术社区  · 6 年前

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

    代码:

    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}>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Rick Baker    6 年前

    明白了。将权限传递到列表的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