fix: item data type wrong in iteration (#19709)

This commit is contained in:
Joel 2025-05-15 10:54:35 +08:00 committed by GitHub
parent dd4419fd5e
commit 486a66be54
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -613,6 +613,7 @@ const getIterationItemType = ({
const isSystem = isSystemVar(valueSelector) const isSystem = isSystemVar(valueSelector)
const targetVar = isSystem ? beforeNodesOutputVars.find(v => v.isStartNode) : beforeNodesOutputVars.find(v => v.nodeId === outputVarNodeId) const targetVar = isSystem ? beforeNodesOutputVars.find(v => v.isStartNode) : beforeNodesOutputVars.find(v => v.nodeId === outputVarNodeId)
if (!targetVar) if (!targetVar)
return VarType.string return VarType.string
@ -623,9 +624,9 @@ const getIterationItemType = ({
arrayType = curr.find((v: any) => v.variable === (valueSelector).join('.'))?.type arrayType = curr.find((v: any) => v.variable === (valueSelector).join('.'))?.type
} }
else { else {
for (let i = 1; i < valueSelector.length - 1; i++) { for (let i = 1; i < valueSelector.length; i++) {
const key = valueSelector[i] const key = valueSelector[i]
const isLast = i === valueSelector.length - 2 const isLast = i === valueSelector.length - 1
curr = Array.isArray(curr) ? curr.find(v => v.variable === key) : [] curr = Array.isArray(curr) ? curr.find(v => v.variable === key) : []
if (isLast) if (isLast)