From d470120a60653c21c6d6afa61648c584e2e8b1c9 Mon Sep 17 00:00:00 2001 From: znn Date: Sun, 3 Aug 2025 16:01:15 +0530 Subject: [PATCH] retention of data filled on tab switch for tool plugin (#23323) --- .../variable/var-reference-picker.tsx | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/web/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx b/web/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx index 0e57db0d8..21eb9b865 100644 --- a/web/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx +++ b/web/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx @@ -357,8 +357,26 @@ const VarReferencePicker: FC = ({ options: dynamicOptions, } } - return schema - }, [dynamicOptions]) + + // If we don't have dynamic options but we have a selected value, create a temporary option to preserve the selection during loading + if (isLoading && value && typeof value === 'string') { + const preservedOptions = [{ + value, + label: { en_US: value, zh_Hans: value }, + show_on: [], + }] + return { + ...schema, + options: preservedOptions, + } + } + + // Default case: return schema with empty options + return { + ...schema, + options: [], + } + }, [schema, dynamicOptions, isLoading, value]) const variableCategory = useMemo(() => { if (isEnv) return 'environment'