自定义模态对话的开头
Customizing The opening of a Modal Dialogue
我正在尝试在我的 React Material-UI 项目中使用模态对话。 Material-UI 在他们的 JSX 中提供了一个按钮,它触发了一个 handleClickOpen
方法调用,我想绕过它,所以我可以提供我自己的按钮(我不想在其中硬编码因为它可能有不同的格式等...)。我尝试使用道具,在自定义道具中我必须传入一个 ReactComponentElement,但是在它被启动后向这样的事情添加 onClick 事件是一件痛苦的事情。
有没有办法从外部源打开对话?所以我可以创建元素然后一些处理程序 class 可以打开它?提前感谢您的帮助!
这是我使用的基本代码 Material-UI: https://material-ui.com/components/dialogs/#customized-dialogs
我不完全确定你所说的绕过他们的方法是什么意思,因为他们只是用它来改变控制对话框是否可见的状态,你将不得不改变某个地方的状态来触发对话框的外观,除非您有条件地呈现它。
如果您想从不同的地方打开对话框,那么我建议将其受控状态保持在较高的位置,并通过道具将其向下传递到您保留对话框的任何位置。如果这样做,您还可以使用 props 将状态更改方法传递到您需要的任何地方,这样您就可以有多个按钮调用 handleClickOpen/Close
.
我正在尝试在我的 React Material-UI 项目中使用模态对话。 Material-UI 在他们的 JSX 中提供了一个按钮,它触发了一个 handleClickOpen
方法调用,我想绕过它,所以我可以提供我自己的按钮(我不想在其中硬编码因为它可能有不同的格式等...)。我尝试使用道具,在自定义道具中我必须传入一个 ReactComponentElement,但是在它被启动后向这样的事情添加 onClick 事件是一件痛苦的事情。
有没有办法从外部源打开对话?所以我可以创建元素然后一些处理程序 class 可以打开它?提前感谢您的帮助!
这是我使用的基本代码 Material-UI: https://material-ui.com/components/dialogs/#customized-dialogs
我不完全确定你所说的绕过他们的方法是什么意思,因为他们只是用它来改变控制对话框是否可见的状态,你将不得不改变某个地方的状态来触发对话框的外观,除非您有条件地呈现它。
如果您想从不同的地方打开对话框,那么我建议将其受控状态保持在较高的位置,并通过道具将其向下传递到您保留对话框的任何位置。如果这样做,您还可以使用 props 将状态更改方法传递到您需要的任何地方,这样您就可以有多个按钮调用 handleClickOpen/Close
.