From 0dee41c07447e57a5214f6d68bcc31e51cf050c1 Mon Sep 17 00:00:00 2001 From: yolofit Date: Wed, 16 Jul 2025 11:22:54 +0800 Subject: [PATCH] fix: When var value changed, PromptEditor should be reset (#22219) --- .../if-else/components/condition-list/condition-item.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/web/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx b/web/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx index 775f232fd..eabc10b16 100644 --- a/web/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx +++ b/web/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx @@ -25,6 +25,7 @@ import { FILE_TYPE_OPTIONS, SUB_VARIABLES, TRANSFER_METHOD } from '../../../cons import ConditionWrap from '../condition-wrap' import ConditionOperator from './condition-operator' import ConditionInput from './condition-input' +import { useWorkflowStore } from '@/app/components/workflow/store' import ConditionVarSelector from './condition-var-selector' import type { @@ -88,6 +89,11 @@ const ConditionItem = ({ const [isHovered, setIsHovered] = useState(false) const [open, setOpen] = useState(false) + const workflowStore = useWorkflowStore() + const { + setControlPromptEditorRerenderKey, + } = workflowStore.getState() + const doUpdateCondition = useCallback((newCondition: Condition) => { if (isSubVariableKey) onUpdateSubVariableCondition?.(caseId, conditionId, condition.id, newCondition) @@ -208,10 +214,11 @@ const ConditionItem = ({ draft.varType = resolvedVarType draft.value = '' draft.comparison_operator = getOperators(resolvedVarType)[0] + setTimeout(() => setControlPromptEditorRerenderKey(Date.now())) }) doUpdateCondition(newCondition) setOpen(false) - }, [condition, doUpdateCondition, availableNodes, isChatMode]) + }, [condition, doUpdateCondition, availableNodes, isChatMode, setControlPromptEditorRerenderKey]) return (