开发者问题收集

确认对话框未打开 react-admin

2021-05-18
910

我尝试使用 React Admin 单击按钮时打开确认对话框。按钮单击名称为“handleSendItemsToUpdate”。

但是对话框未打开。

请查看以下代码:

  const notify = useNotify();
  const [open, setOpen] = React.useState(false);
  const handleDialogClose = () => setOpen(false);
  const handleSendItemsToUpdate = (props) => {

    const handleConfirm = () => {
        notify('Stuff is done.');
        setOpen(false);
    };

    setOpen(true);


    return (

        <Fragment>
            <SaveButton {...props} />
            <Confirm
                isOpen={open}
                title="Update View Count"
                content="Are you sure you want to reset the views for these items?"
                onConfirm={handleConfirm}
                onClose={handleDialogClose}
            />
        </Fragment>
    );
}

...
<Button className={classes.button} onClick={() => handleSendItemsToUpdate(props)}>Send Items To 
Update</Button>

如能提供任何帮助,我们将不胜感激。

提前致谢!

Begum

1个回答

确认对话框是在 handleSendItemsToUpdate 函数中返回的,该函数并未在组件中渲染(在 DOM 中使用),所以无法显示。

你可以将函数中的返回放到组件的返回中,当然,只有当 open 状态为 true 时才会显示。

你可以在这里查看我的演示: https://codesandbox.io/s/peaceful-dewdney-6pil2?file=/src/App.js

nhidh99
2021-05-18