自定义删除按钮 react-admin

Che*_*wai 2 reactjs admin-on-rest react-admin

有什么方法可以自定义DeleteButton按钮react-admin以添加确认消息,例如“您要删除项目吗?”。目前点击DeleteButton它会直接删除该项目,而无需确认。我尝试title为删除按钮添加属性,但它没有被触发。这是我的代码

//This worked with admin-on-rest, but not working with react-admin
const CategoryDeleteTitle = translate(({ record, translate }) => <span>
        {translate('Delete')}&nbsp;
        {record && `${record.code} ${record.name}`}
    </span>);

const EditActions = ({ basePath, data, resource }) => (
    <CardActions>
        <ShowButton basePath={basePath} record={data} />
        <ListButton basePath={basePath} />
        <DeleteButton title={<CategoryTitle />} basePath={basePath} record={data} resource={resource} />

    </CardActions>
);

export const CategoryEdit = (props) => (
    <Edit actions={<EditActions />} title={<CategoryTitle />} {...props}>
        <SimpleForm>
            <DisabledInput source="id" />
            <TextInput source="name" />
        </SimpleForm>
    </Edit>
);
Run Code Online (Sandbox Code Playgroud)

Gil*_*cia 6

我们现在以乐观的方式处理删除,提供一个撤销机制而不是一个确认对话框。

如果这不适合您,您可以按照导致此文档页面的升级指南进行操作:https : //marmelab.com/react-admin/CreateEdit.html#actions

请注意,您必须使用类似的方法创建和处理您的确认对话框react-modalsDELETE自己发送操作。


Ady*_*evy 5

您可以将此要点与自定义操作一起使用,例如:

const UserEditActions = ({ basePath, data, resource }) => (
    <CardActions>
        <ListButton basePath={basePath} />
        <DeleteButtonWithConfirmation basePath={basePath} record={data} resource={resource} undoable={false} />
        <RefreshButton />
      </CardActions>
    );

export const UserEdit = ({ ...props }) => (
  <Edit {...props} actions={<UserEditActions />} >
    <CreateEditForm title={<EntityTitle label="User" />} />
  </Edit>
);
Run Code Online (Sandbox Code Playgroud)