diff --git a/webapp/packages/core-blocks/src/FormControls/Form.tsx b/webapp/packages/core-blocks/src/FormControls/Form.tsx index d815b577ed..acb96cdf9f 100644 --- a/webapp/packages/core-blocks/src/FormControls/Form.tsx +++ b/webapp/packages/core-blocks/src/FormControls/Form.tsx @@ -5,7 +5,7 @@ * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ -import React, { forwardRef, useState } from 'react'; +import React, { forwardRef, useRef, useState } from 'react'; import { s } from '../s'; import { useCombinedRef } from '../useCombinedRef'; @@ -32,6 +32,7 @@ export const Form = forwardRef(function Form const st = useS(styles); const [focusedRef] = useFocus({ focusFirstChild }); const [disabledLocal, setDisabledLocal] = useState(false); + const formLocalRef = useRef(null); const disabled = disabledLocal || disabledProp || false; @@ -42,6 +43,7 @@ export const Form = forwardRef(function Form try { setDisabledLocal(true); await onSubmit?.(event); + formLocalRef.current?.reset(); } finally { setDisabledLocal(false); } @@ -49,7 +51,7 @@ export const Form = forwardRef(function Form onChange, }); - const setFormRef = useCombinedRef(formContext.setRef, focusedRef, ref); + const setFormRef = useCombinedRef(formLocalRef, formContext.setRef, focusedRef, ref); if (formContext.parent && formContext.parent !== context) { return (