Nit*_*lra 1 material-ui react-admin
在 my 中App
,我们有基于角色的permissions
喜欢ADD/DELETE
。
Admin
拥有add
, delete
,edit
的所有权限records
customers
没有delete
权限。因此,我想隐藏delete
复选框内的<Datagrid>
客户。
//RoleList.js
import React from "react";
import { List, Datagrid, TextField, SingleFieldList, ChipField, EditButton, DeleteButton, ReferenceArrayField, Loading } from "react-admin";
import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles(theme => ({
chips: {
backgroundColor: theme.palette.secondary.light
}
}));
const RoleList = ({ permissions, ...props }) => {
const classes = useStyles();
if (!permissions) return <Loading />;
const permissionsList = permissions.split(",");
return (
<List {...props} title="roles">
<Datagrid rowClick="show">
<TextField source="name" />
<ReferenceArrayField reference="permissions" source="permissions">
<SingleFieldList>
<ChipField source="name" className={classes.chips} />
</SingleFieldList>
</ReferenceArrayField>
{permissionsList.includes("edit_roles") && <EditButton />}
{permissionsList.includes("delete_roles") && <DeleteButton />}
</Datagrid>
</List>
);
};
export default RoleList;
Run Code Online (Sandbox Code Playgroud)
这是我基于隐藏edit
和delete
按钮的组件permissions
,但复选框仍然有效。我错过了什么react-admin
吗?
小智 5
要隐藏复选框:
<List
{...props}
bulkActionButtons={false}
>
...
</List>
Run Code Online (Sandbox Code Playgroud)
小智 5
要在 RA v4 或更高版本中隐藏这些复选框:
<Datagrid
{...props}
bulkActionButtons={false}
>
...
</Datagrid>
Run Code Online (Sandbox Code Playgroud)
在 RA v4中,bulkActionButtons属性已从 List 组件移至 Datagrid 组件。
归档时间: |
|
查看次数: |
1763 次 |
最近记录: |