Explorar el Código

fix: 关闭modal时表单重置

lanjianrong hace 2 años
padre
commit
4f1b56f621
Se han modificado 1 ficheros con 9 adiciones y 2 borrados
  1. 9 2
      src/components/Modal/index.tsx

+ 9 - 2
src/components/Modal/index.tsx

@@ -6,13 +6,15 @@ import React, {
   useCallback,
   useCallback,
   useState,
   useState,
   useImperativeHandle,
   useImperativeHandle,
-  useId
+  useId,
+  useTransition
 } from 'react'
 } from 'react'
 import { Modal, Form } from 'antd'
 import { Modal, Form } from 'antd'
 import type { ModalProps } from 'antd'
 import type { ModalProps } from 'antd'
 
 
 const MyModal = memo(
 const MyModal = memo(
   forwardRef((prop: any, ref) => {
   forwardRef((prop: any, ref) => {
+    const [, startTransition] = useTransition()
     const [form] = Form.useForm()
     const [form] = Form.useForm()
     const [modalChildren, setModalChildren] = useState<React.ReactElement>(null)
     const [modalChildren, setModalChildren] = useState<React.ReactElement>(null)
     const [loading, setLoading] = useState(false)
     const [loading, setLoading] = useState(false)
@@ -49,9 +51,14 @@ const MyModal = memo(
         ...source,
         ...source,
         visible: false
         visible: false
       }))
       }))
+      startTransition(() => {
+        if (typeRef.current === 'form') {
+          form.resetFields()
+        }
+      })
     }, [form])
     }, [form])
 
 
-    // 关闭当前Modal
+    // 打开当前Modal
     const onOpen = useCallback(() => {
     const onOpen = useCallback(() => {
       setModalProps(source => ({
       setModalProps(source => ({
         ...source,
         ...source,