diff --git a/packages/vue-flow/src/container/VueFlow/watch.ts b/packages/vue-flow/src/container/VueFlow/watch.ts index b56aa383..3f130c33 100644 --- a/packages/vue-flow/src/container/VueFlow/watch.ts +++ b/packages/vue-flow/src/container/VueFlow/watch.ts @@ -174,6 +174,17 @@ export default (models: ToRefs const watchAutoConnect = () => { scope.run(() => { + const autoConnector = async (params: Connection) => { + let connect: boolean | Connection = true + if (isFunction(props.autoConnect)) { + connect = await props.autoConnect(params) + } + + if (connect) { + store.addEdges([params]) + } + } + watch( () => props.autoConnect, () => { @@ -186,19 +197,8 @@ export default (models: ToRefs watch( store.autoConnect, - () => { - const autoConnector = async (params: Connection) => { - let connect: boolean | Connection = true - if (isFunction(props.autoConnect)) { - connect = await props.autoConnect(params) - } - - if (connect) { - store.addEdges([params]) - } - } - - if (store.autoConnect) { + (autoConnectEnabled) => { + if (autoConnectEnabled) { store.onConnect(autoConnector) } else { store.hooks.value.connect.off(autoConnector)