[英]Conditional Delete for React-Admin List View
如果用户数据中的标志为真,我需要能够删除用户,如果为假,请不要删除它并显示通知。 我是 RA 的新手,没有很多 React 经验,但能够制作自定义删除按钮,可以确定所选项目是否“可删除”,但我不知道如何优雅地防止删除发生并显示一条通知,说明为什么没有删除该用户。
在我最近的尝试中,我创建了一个自定义删除按钮,我使用用户的数据来确定是否可以删除使用,然后我使用该标志将其传递给 DeleteButton 的禁用道具,但这似乎并不能阻止它从删除用户。
这是我上面描述的一个例子:
return <DeleteButton {...props} record={data} disabled={canDelete}/>
我正在使用 react-admin 3.11.2
如果您正在苦苦挣扎的是如何自己处理 DeleteButton 的 onClick 事件并取决于标志,那么我建议以下解决方案:
import { Button } from 'react-admin'
来继承 react-admin 的样式onClick
事件 byDialog
useDelete
钩子自己调用删除function。 更多关于钩子的信息在这里。不是一个理想的解决方案,但我使用了这种方法。 我制作了一个自定义 DeleteButton,仅当标志为真时才会显示删除图标,否则没有图标因此不允许删除发生。
const MyDeleteButton = props => {
const { record } = props;
if (!record.isDeletable) {
// Note, no label, just shows an icon
return <DeleteButton {...props} label=''/>
} else {
return null
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.