我正在尝试让一个表单在 Material UI Dialog 组件中工作。如果我将对话框包装在表单标签中,它们甚至不会出现在生成的 html 中(还不知道为什么)...
<form onSubmit={someFunction}>
<Dialog>
...
</Dialog>
</form>
如果我反转它并将表单标签放入对话框中,表单元素将显示在生成的 html 中,但设置为 type="submit" 的操作按钮将不会触发表单的 onSubmit。
<Dialog>
<form onSubmit={someFunction}>
...
</form>
</Dialog>
有没有人成功地让这个组合发挥作用?我知道我可以直接通过单击操作按钮来调用该函数,但我也使用 Redux Form 并在应用程序中拥有其他非对话框表单,因此我将其绑定到 form 元素。所以我真的需要以某种方式从对话框调用表单提交。
事实上 - 我已经/曾经onSubmit={handleSubmit(this.myFunction)}
首先,这不是问题。问题在于 Material UI 如何安装Dialog
(这显然不同于react-toolbox
)。他们将其安装在身体上 - 我认为是为了更容易定位 - 所以除了身体之外的任何东西Dialog
被忽略。
对于对话框内的表单,按钮位于表单外部(这又明显不同于react-toolbox
)。因此,要使其正常工作,您必须使用 HTML 5 'form' 属性,详细信息here https://www.tjvantoll.com/2013/07/10/creating-a-jquery-ui-dialog-with-a-submit-button/(如果需要的话,还可以为旧版浏览器提供poly-fill)。该表格需要一个id
属性,然后它外面的按钮需要一个表单属性,其值设置为表单的 id。然后对话框内的表单元素将按预期运行。不过还是谢谢你的回复!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)