From 7d42a0283dbab6faf230820cbb935686b644879d Mon Sep 17 00:00:00 2001 From: Arpit Date: Wed, 10 Nov 2021 14:35:35 +0530 Subject: [PATCH] Reset to default value when option values gets an update (#1332) * reset t0 default value when optin values gets an update * reset the default value to empty string * Revert "reset the default value to empty string" This reverts commit 6845422613303a09aa7193f77f9d0fe09ab0392a. * Revert "reset the default value to empty string" This reverts commit 6845422613303a09aa7193f77f9d0fe09ab0392a. * Reset to default value or to undefined when option values gets an update * removed unused effects --- frontend/src/Editor/Components/DropDown.jsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/frontend/src/Editor/Components/DropDown.jsx b/frontend/src/Editor/Components/DropDown.jsx index 270b923ba3..6a1870d301 100644 --- a/frontend/src/Editor/Components/DropDown.jsx +++ b/frontend/src/Editor/Components/DropDown.jsx @@ -61,7 +61,9 @@ export const DropDown = function DropDown({ const currentValueProperty = component.definition.properties.value; const value = currentValueProperty ? currentValueProperty.value : ''; - const [currentValue, setCurrentValue] = useState(''); + const [currentValue, setCurrentValue] = useState(() => + resolveReferences(currentValueProperty.value, currentState, '') + ); let newValue = value; if (currentValueProperty && currentState) { @@ -91,6 +93,15 @@ export const DropDown = function DropDown({ // eslint-disable-next-line react-hooks/exhaustive-deps }, [currentValue]); + useEffect(() => { + if (selectOptions.some((e) => e.value === newValue)) { + setCurrentValue(newValue); + } else { + setCurrentValue(undefined); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [values]); + return (