javascript - 在 react-admin 中显示确认对话框的最简单方法是什么?

标签 javascript reactjs material-ui react-admin

在 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/

相关文章:

javascript - 如何使用用户输入的数据向 ngx-datatable 添加新行?

reactjs - typescript 中的 react 模态

javascript - 在单页应用程序上使用 json 数据的material-ui

javascript - 如何获取div文本值?

javascript - 从 Coldfusion 调用 javascript 函数

javascript - 用数组中的多个父组件包装组件

javascript - React.js Redux reducer 不插入项目

javascript - 当事件步骤更改时,将 StepContent 数据保留在 Material-ui Stepper 中

reactjs - 如何通过传递 startIcon Prop 在 Material ui 按钮中放置图像

javascript - 如何在不同的时间间隔后隐藏谷歌地图圆圈对象?