diff --git a/packages/core/src/composables/useHandleConnections.ts b/packages/core/src/composables/useHandleConnections.ts index 303bd3f3..502ebc80 100644 --- a/packages/core/src/composables/useHandleConnections.ts +++ b/packages/core/src/composables/useHandleConnections.ts @@ -9,8 +9,8 @@ import { useVueFlow } from './useVueFlow' interface UseHandleConnectionsParams { type: MaybeRefOrGetter - id?: MaybeRefOrGetter - nodeId?: MaybeRefOrGetter + id?: MaybeRefOrGetter + nodeId?: MaybeRefOrGetter onConnect?: (connections: Connection[]) => void onDisconnect?: (connections: Connection[]) => void } @@ -35,13 +35,19 @@ export function useHandleConnections({ onDisconnect, }: UseHandleConnectionsParams): ComputedRef { const { connectionLookup } = useVueFlow() + const _nodeId = useNodeId() - const currentNodeId = toRef(() => toValue(nodeId) || _nodeId) + + const currentNodeId = toRef(() => toValue(nodeId) ?? _nodeId) + + const handleType = toRef(() => toValue(type)) + + const handleId = toRef(() => toValue(id) ?? null) const connections = ref>() watch( - () => connectionLookup.value.get(`${currentNodeId.value}-${toValue(type)}-${toValue(id)}`), + () => connectionLookup.value.get(`${currentNodeId.value}-${handleType.value}-${handleId.value}`), (nextConnections) => { if (areConnectionMapsEqual(connections.value, nextConnections)) { return