首页 > 解决方案 > React-Admin 列表视图的条件删除

问题描述

如果用户数据中的标志为真,我需要能够删除用户,如果为假,请不要删除它并显示通知。我对 RA 很陌生,没有很多 React 经验,但能够制作一个自定义删除按钮,可以确定所选项目是否“可删除”,但我不知道如何优雅地防止删除发生并显示一条通知,说明为什么没有删除该用户。

在我最近的尝试中,我创建了一个自定义删除按钮,我使用用户的数据来确定是否可以删除使用,然后我使用该标志将其传递给 DeleteButton 的禁用道具,但这似乎并不能阻止它从删除用户。

这是我上面描述的一个例子:

return <DeleteButton {...props} record={data} disabled={canDelete}/>

我正在使用 react-admin 3.11.2

标签: reactjsreact-admin

解决方案


如果您正在苦苦挣扎的是如何自己处理 DeleteButton 的 onClick 事件并取决于标志,那么我建议以下解决方案:

  1. 创建自定义按钮 - 您可以通过导入来继承 react-admin 的样式import { Button } from 'react-admin'
  2. 2.1onClick根据标志处理事件,如果值为 false,则有条件地在消息中 显示自定义 2.2 使用钩子自行调用删除函数。更多关于钩子的信息在这里
    Dialog
    useDelete

推荐阅读