Reactjs React管理员列表视图的条件删除
我需要能够删除一个用户,如果在用户的数据标志是真的,如果它是假的,不删除它,并显示一个通知。我是RA的新手,没有太多的React经验,但能够制作一个自定义的删除按钮,可以确定所选项目是否“可删除”,但我不知道如何优雅地防止删除发生,并显示一个通知,指出该用户未被删除的原因 在我最近的尝试中,我创建了一个自定义的删除按钮,在这里我使用用户的数据来确定是否可以删除该使用,然后我使用该标志将其传递到DeleteButton的disable prop中,但这似乎并不阻止它删除用户 下面是我上面描述的一个例子:Reactjs React管理员列表视图的条件删除,reactjs,react-admin,Reactjs,React Admin,我需要能够删除一个用户,如果在用户的数据标志是真的,如果它是假的,不删除它,并显示一个通知。我是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事件,并且取决于标志,那么我建议以下解决方案:
import{button}来继承react admin的样式
的标志处理
onClick
事件
2.1如果值为false,则有条件地显示带有消息的自定义对话框
2.2自己使用
useDelete
hook调用delete函数。有关hook的更多信息“不阻止删除”是什么意思?您仍然可以单击“禁用”按钮?@KiaKaha如果我使用的标志为真,则允许通过“删除”按钮删除该用户。否则,将阻止并删除该用户,并显示类似“用户无法删除,因为…”的snackbar消息