From 4aecc9f09002a2bd1ba4fab43ac2b04ba44a1247 Mon Sep 17 00:00:00 2001 From: crazywoola <100913391+crazywoola@users.noreply.github.com> Date: Mon, 14 Apr 2025 09:27:08 +0800 Subject: [PATCH] fix: TypeError: a.variable_selector.join is not a function (#17950) --- .../assigner/components/var-list/index.tsx | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/web/app/components/workflow/nodes/assigner/components/var-list/index.tsx b/web/app/components/workflow/nodes/assigner/components/var-list/index.tsx index e7392eece6..170e6484c4 100644 --- a/web/app/components/workflow/nodes/assigner/components/var-list/index.tsx +++ b/web/app/components/workflow/nodes/assigner/components/var-list/index.tsx @@ -97,20 +97,13 @@ const VarList: FC = ({ const handleFilterToAssignedVar = useCallback((index: number) => { return (payload: Var) => { - const item = list[index] - const assignedVarType = item.variable_selector ? getAssignedVarType?.(item.variable_selector) : undefined + const { variable_selector, operation } = list[index] + if (!variable_selector || !operation || !filterToAssignedVar) return true - if (item.variable_selector.join('.') === `${payload.nodeId}.${payload.variable}`) - return false + const assignedVarType = getAssignedVarType?.(variable_selector) + const isSameVariable = Array.isArray(variable_selector) && variable_selector.join('.') === `${payload.nodeId}.${payload.variable}` - if (!filterToAssignedVar || !item.variable_selector || !assignedVarType || !item.operation) - return true - - return filterToAssignedVar( - payload, - assignedVarType, - item.operation, - ) + return !isSameVariable && (!assignedVarType || filterToAssignedVar(payload, assignedVarType, operation)) } }, [list, filterToAssignedVar, getAssignedVarType])