【问题标题】:React-Admin: How do I hide the "Checkbox" with the Datagrid <row>?React-Admin:如何使用 Datagrid <row> 隐藏“复选框”?
【发布时间】:2020-04-16 10:50:20
【问题描述】:

在我的App 中,我们有permissionsADD/DELETE 基于角色。

  • Admin 拥有对 adddeleteeditrecords 的所有权限
  • customers 没有 delete 权限。

因此,我想在 &lt;Datagrid&gt; 中为客户隐藏 delete 复选框

//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;

这是我的组件,我根据permissions 隐藏editdelete 按钮,但复选框 仍然有效。 我错过了react-admin 的任何内容吗?

【问题讨论】:

  • 添加到代码 sn-p,您如何使用 permissions 隐藏 checkboxes。谢谢。

标签: material-ui react-admin


【解决方案1】:

隐藏复选框:

<List
    {...props}
    bulkActionButtons={false}
>
...
</List>

【讨论】:

    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 2013-08-10
    • 1970-01-01
    相关资源
    最近更新 更多