diff --git a/web/app/components/workflow/nodes/loop/components/condition-list/condition-item.tsx b/web/app/components/workflow/nodes/loop/components/condition-list/condition-item.tsx index b3ce67beb6..6e573093b7 100644 --- a/web/app/components/workflow/nodes/loop/components/condition-list/condition-item.tsx +++ b/web/app/components/workflow/nodes/loop/components/condition-list/condition-item.tsx @@ -36,6 +36,7 @@ import cn from '@/utils/classnames' import { SimpleSelect as Select } from '@/app/components/base/select' import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development' import ConditionVarSelector from './condition-var-selector' +import BoolValue from '@/app/components/workflow/panel/chat-variable-panel/components/bool-value' const optionNameI18NPrefix = 'workflow.nodes.ifElse.optionName' @@ -129,12 +130,12 @@ const ConditionItem = ({ const isArrayValue = fileAttr?.key === 'transfer_method' || fileAttr?.key === 'type' - const handleUpdateConditionValue = useCallback((value: string) => { - if (value === condition.value || (isArrayValue && value === condition.value?.[0])) + const handleUpdateConditionValue = useCallback((value: string | boolean) => { + if (value === condition.value || (isArrayValue && value === (condition.value as string[])?.[0])) return const newCondition = { ...condition, - value: isArrayValue ? [value] : value, + value: isArrayValue ? [value as string] : value, } doUpdateCondition(newCondition) }, [condition, doUpdateCondition, isArrayValue]) @@ -253,7 +254,7 @@ const ConditionItem = ({ /> { - !comparisonOperatorNotRequireValue(condition.comparison_operator) && !isNotInput && condition.varType !== VarType.number && ( + !comparisonOperatorNotRequireValue(condition.comparison_operator) && !isNotInput && condition.varType !== VarType.number && condition.varType !== VarType.boolean && (