refactor(nodes): Add nodeElements prop again

* Remove templateRef and use regular ref (templateRef causes infinite re-renders)
This commit is contained in:
Braks
2022-04-11 11:30:10 +02:00
parent f63e1571ae
commit 6b76b8be06
2 changed files with 6 additions and 2 deletions
+4 -2
View File
@@ -20,7 +20,7 @@ const { store } = useVueFlow()
const node = useVModel(props, 'node')
provide(NodeId, props.id)
const nodeElement = templateRef<HTMLDivElement>('node-element', null)
const nodeElement = ref()
const onMouseEnterHandler = () =>
node.value.dragging && ((event: MouseEvent) => store.hooks.nodeMouseEnter.trigger({ event, node: node.value }))
@@ -195,7 +195,7 @@ export default {
</script>
<template>
<div
ref="node-element"
ref="nodeElement"
:key="`node-${node.id}`"
:class="getClass"
:style="getStyle"
@@ -209,6 +209,7 @@ export default {
>
<component
:is="type"
v-if="nodeElement"
:id="node.id"
:type="node.type"
:data="node.data"
@@ -226,6 +227,7 @@ export default {
:source-position="node.sourcePosition"
:label="node.label"
:drag-handle="node.dragHandle"
:node-element="nodeElement"
/>
</div>
</template>
+2
View File
@@ -94,4 +94,6 @@ export interface NodeProps<Data = ElementData> {
targetPosition?: Position
sourcePosition?: Position
dragHandle?: string
nodeElement: HTMLDivElement
}