React中antd-modal巢狀form表單的使用
阿新 • • 發佈:2021-11-04
<Modal title="請選擇模板" visible={true} width="428px" centered={true} className='creatModal' getContainer={false} //1.排除警告 onCancel={closeCreatModal} footer={[<Button key="submit" type="primary" onClickconst [form] = Form.useForm() //form例項={onSave}>儲存</Button>]} > <Form form= {form} layout='vertical' autoComplete="off" > <Form.Item label="模板名稱" name="name" rules={[{ required: true, message: '請輸入模板名稱' }]} > <Input placeholder='請輸入'/> </Form.Item> <Form.Item className="formDesc" label="描述資訊" name="describe" ><Input placeholder='請輸入'/> </Form.Item> </Form> </Modal>
const onSave = async()=>{ const values = await form.validateFields() //2.表單驗證並獲取表單值 setCreatModal(false) }
注意:出現:'Instance created by `useForm` is not connect to any Form element.警告的問題
解決方法:
1.在Modal元件中新增上getContainer={false}
2.在modal元件新增forceRender屬性