Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 自定义模态对话的开头_Typescript_Dialog_Material Ui - Fatal编程技术网

Typescript 自定义模态对话的开头

Typescript 自定义模态对话的开头,typescript,dialog,material-ui,Typescript,Dialog,Material Ui,我试图在我的React Material UI项目中使用模态对话。Material UI在其JSX中提供了一个按钮,该按钮触发handleClickOpen方法调用,我想绕过该方法调用,这样我就可以提供自己的按钮(我不想硬编码,因为它可以采用不同的格式等等)。我尝试过使用一些道具,在自定义道具中,我必须传入一个ReactComponentElement,但是在它被启动后向类似这样的东西添加onClick事件是一件痛苦的事情 有没有办法从外部渠道打开对话?那么我可以创建元素,然后某个处理程序类可以

我试图在我的React Material UI项目中使用模态对话。Material UI在其JSX中提供了一个按钮,该按钮触发
handleClickOpen
方法调用,我想绕过该方法调用,这样我就可以提供自己的按钮(我不想硬编码,因为它可以采用不同的格式等等)。我尝试过使用一些道具,在自定义道具中,我必须传入一个ReactComponentElement,但是在它被启动后向类似这样的东西添加onClick事件是一件痛苦的事情

有没有办法从外部渠道打开对话?那么我可以创建元素,然后某个处理程序类可以打开它?提前谢谢你的帮助


下面是我在Material UI中使用的基本代码:

我不完全确定绕过他们的方法是什么意思,因为他们只是使用该方法来更改控制对话框是否可见的状态,并且必须在某个地方更改状态以触发对话框的外观,除非您有条件地渲染它


如果您想从不同的地方打开对话框,那么我建议将其受控状态保持在较高的位置,并通过道具将其传递到保持对话框的任何位置。如果您这样做,您还可以使用道具将状态更改方法传递到您需要的任何位置,这样您就可以有多个按钮来调用
手柄单击打开/关闭

太好了,效果很好!我保持打开或关闭状态,然后在有状态类中提供可以访问的公共方法!很高兴它有帮助!