在 react-admin 项目中,我创建了自己的工具栏按钮,它应该显示一个确认对话框,类似于 JavaScript 警报,但没有那么难看。
只有当用户点击 OK 时,事情才会发生,在我的例子中是一些数据库操作。
react-admin 中是否有 ootb 警报对话框或创建一个的简单方法是什么?
我在有关该主题的文档中找不到任何内容。我尝试了 material ui 中的 alert 示例(请参阅 https://v1.material-ui.com/demos/dialogs/ ),但由于我对 react 的理解非常有限,我无法从示例中创建可重用的组件。
更新:
下面的代码片段说明了我想做的事情:
// Definition of a toolbar button
const ActionButton = ({ handleSubmitWithRedirect, ...props }) => {
const form = useForm();
var formdata = form.getState().values;
switch (formdata.status.id) {
case 0:
props.label = "Text for state 0";
break;
case 1:
props.label = "Text for state 2";
break;
default:
props.label = "Unknown state"
}
const handleClick = useCallback(() => {
switch (formdata.status.id) {
case 0:
form.change('status', status[1]);
break;
case 1:
// Here I want to open a confirmation Dialog...
if( openAlertDialog("Warning, things will happen","Okay","Better not"))
{
form.change('status', status[2]);
createDatabaseRecord(formdata).then(() => (
// success handling [...]
),
() => (
// error handling [...]
))
};
break;
default:
}
handleSubmitWithRedirect('list');
}, [formdata, form]);
return <SaveButton {...props} handleSubmitWithRedirect={handleClick} />;
};
最佳答案
查看以下代码和框,了解如何使用 Material-UI 触发打开对话框以及根据单击“同意”或“不同意”按钮触发不同操作的示例。
https://codesandbox.io/s/material-demo-cspqy
关于javascript - 在 react-admin 中显示确认对话框的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60321964/