fix(watcher): triggers recursively when store changes
This commit is contained in:
@@ -25,8 +25,13 @@ export default (models: ToRefs<Pick<FlowProps, 'nodes' | 'edges' | 'modelValue'>
|
|||||||
pauseStore = watchPausable(
|
pauseStore = watchPausable(
|
||||||
[store.edges, store.nodes, () => store.edges.value.length, () => store.nodes.value.length],
|
[store.edges, store.nodes, () => store.edges.value.length, () => store.nodes.value.length],
|
||||||
([e, n]) => {
|
([e, n]) => {
|
||||||
|
if (pauseModel) pauseModel.pause()
|
||||||
const val = [...(n as GraphNode[]), ...(e as GraphEdge[])]
|
const val = [...(n as GraphNode[]), ...(e as GraphEdge[])]
|
||||||
if (val.length) models.modelValue!.value = val
|
if (val.length) models.modelValue!.value = val
|
||||||
|
|
||||||
|
nextTick(() => {
|
||||||
|
if (pauseModel) pauseModel.resume()
|
||||||
|
})
|
||||||
},
|
},
|
||||||
{ immediate: true, flush: 'post' },
|
{ immediate: true, flush: 'post' },
|
||||||
)
|
)
|
||||||
@@ -89,6 +94,7 @@ export default (models: ToRefs<Pick<FlowProps, 'nodes' | 'edges' | 'modelValue'>
|
|||||||
if (pauseStore) pauseStore.pause()
|
if (pauseStore) pauseStore.pause()
|
||||||
if (pauseModel) pauseModel.pause()
|
if (pauseModel) pauseModel.pause()
|
||||||
|
|
||||||
|
console.log('watcher', v)
|
||||||
store.setEdges(v)
|
store.setEdges(v)
|
||||||
|
|
||||||
pauseStore = watchPausable(
|
pauseStore = watchPausable(
|
||||||
|
|||||||
Reference in New Issue
Block a user