
import React, {
useRef
} from 'react'
import { Modal } from 'antd'
import MyForm from './myForm'
const ParentComp = () => {
const getFormValue = useRef();
const handleOk = () => {
const fields = getFormValue.current.formFields;
console.log(fields)
}
return <Modal onOk={handleOk} >
<MyForm
wrappedComponentRef={getFormValue}
/>
</Modal>
}
export default ParentComp
子组件:
import React, { useImperativeHandle, useRef, forwardRef } from 'react'
import { Form } from 'antd'
const MyForm = (props, ref) => {
const formRef = useRef()
useImperativeHandle(ref, () => ({
formFields: props.form.getFieldsValue()
}))
return <Form ref={formRef}>
...
</Form>
}
const WrappedForm = Form.create({ name: 'form' })(forwardRef(MyForm))
export default WrappedForm