Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React管理员列表视图的条件删除_Reactjs_React Admin - Fatal编程技术网

Reactjs React管理员列表视图的条件删除

Reactjs React管理员列表视图的条件删除,reactjs,react-admin,Reactjs,React Admin,我需要能够删除一个用户,如果在用户的数据标志是真的,如果它是假的,不删除它,并显示一个通知。我是RA的新手,没有太多的React经验,但能够制作一个自定义的删除按钮,可以确定所选项目是否“可删除”,但我不知道如何优雅地防止删除发生,并显示一个通知,指出该用户未被删除的原因 在我最近的尝试中,我创建了一个自定义的删除按钮,在这里我使用用户的数据来确定是否可以删除该使用,然后我使用该标志将其传递到DeleteButton的disable prop中,但这似乎并不阻止它删除用户 下面是我上面描述的一个

我需要能够删除一个用户,如果在用户的数据标志是真的,如果它是假的,不删除它,并显示一个通知。我是RA的新手,没有太多的React经验,但能够制作一个自定义的删除按钮,可以确定所选项目是否“可删除”,但我不知道如何优雅地防止删除发生,并显示一个通知,指出该用户未被删除的原因

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

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

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

我使用的react admin 3.11.2不是理想的解决方案,但我使用了这种方法。我制作了一个自定义的DeleteButton,只有当标志为true时才会显示删除图标,否则没有图标,因此不允许删除

const MyDeleteButton = props => {
const { record } = props;

    if (!record.isDeletable) {
        // Note, no label, just shows an icon
        return <DeleteButton {...props} label=''/>
    } else {
        return null
}
constmydeletebutton=props=>{
const{record}=props;
如果(!record.isDeletable){
//注意,没有标签,只显示一个图标
返回
}否则{
返回空
}

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

  • 创建自定义按钮-您可以通过从“react admin”导入
    import{button}来继承react admin的样式
  • 根据
    的标志处理
    onClick
    事件 2.1如果值为false,则有条件地显示带有消息的自定义
    对话框

    2.2自己使用
    useDelete
    hook调用delete函数。有关hook的更多信息

  • “不阻止删除”是什么意思?您仍然可以单击“禁用”按钮?@KiaKaha如果我使用的标志为真,则允许通过“删除”按钮删除该用户。否则,将阻止并删除该用户,并显示类似“用户无法删除,因为…”的snackbar消息