diff --git a/src/scenes/kit/kit-data/configure/Rules/components/EditOutput.tsx b/src/scenes/kit/kit-data/configure/Rules/components/EditOutput.tsx index cb1b30d..5c851e5 100644 --- a/src/scenes/kit/kit-data/configure/Rules/components/EditOutput.tsx +++ b/src/scenes/kit/kit-data/configure/Rules/components/EditOutput.tsx @@ -1,4 +1,4 @@ -import React, { useState, useRef } from "react"; +import React, { useState, useRef, useEffect } from "react"; import compose from "~/utils/compose"; import { withTranslation, WithTranslation } from "react-i18next"; import { Icon } from "semantic-ui-react"; @@ -58,7 +58,7 @@ function EditOutput(props: PInner) { let outputSettingsSchemaModified: JSONSchema7; let outputSettingsUiSchema: any; - let data: any; + let data: object | undefined; if (outputType === "continuous") { outputSettingsSchemaModified = produce( castDraft(continuousOutputSettingsSchema), @@ -93,6 +93,14 @@ function EditOutput(props: PInner) { } const [formData, setFormData] = useState(data); + useEffect( + () => setFormData(data), + [ + outputType, // note: the outputType dependency is necessary here to ensure formData updates on outputType change + data, + ], + ); + const submitButtonRef = useRef(null); const handleClose = () => {