React-Admin: как мне скрыть "флажок" с сеткой данных <row>? - PullRequest
0 голосов
/ 16 апреля 2020

В моем 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;

Это мой компонент, в котором я скрываю кнопки edit и delete на основе permissions, но флажок все еще функционирует. Я что-то упускаю из react-admin?

1 Ответ

0 голосов
/ 21 апреля 2020

Чтобы скрыть флажки:

<List
    {...props}
    bulkActionButtons={false}
>
...
</List>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...