我正在try 根据是否显示表单在ReactJS中的两个HTML按钮之间有条件地切换.基本上,如果显示表单,则显示提交按钮,如果未显示,则显示常规按钮来显示表单.
这是我拥有的代码.(我正在使用Antd的按钮组件,但我也try 使用普通的HTML按钮,也遇到了同样的问题.
<div>
{showForm ? (
<Button
loading={isUploading}
htmlType="submit"
form="videoForm"
className={Styles.button}
>
{isUploading ? 'Uploading' : 'Upload Video'}
</Button>
) : (
<Button
htmlType="button"
onClick={() => setShowForm(true)}
className={Styles.button}
>
{successMsg ? 'Upload Another Video' : 'Show Form'}
</Button>
)}
</div>
我遇到的问题是,当表单没有显示并单击"显示表单"按钮时,表单会正确显示并且按钮会切换,但表单提交事件正在触发,这不是我所期望或想要的.
有什么 idea 吗?我如何解决这个问题?我还try 了以下操作,但得到了相同的结果.
<div>
<Button
loading={isUploading}
htmlType={showForm ? 'submit' : 'button'}
form="videoForm"
className={Styles.button}
>
{showForm && (isUploading ? 'Uploading' : 'Upload Video')}
{!showForm && (successMsg ? 'Upload Another Video' : 'Show Form')}
</Button>
</div>
如有任何帮助,我们将不胜感激.