refactor(nodes): Add nodeElements prop again
* Remove templateRef and use regular ref (templateRef causes infinite re-renders)
This commit is contained in:
@@ -20,7 +20,7 @@ const { store } = useVueFlow()
|
|||||||
const node = useVModel(props, 'node')
|
const node = useVModel(props, 'node')
|
||||||
provide(NodeId, props.id)
|
provide(NodeId, props.id)
|
||||||
|
|
||||||
const nodeElement = templateRef<HTMLDivElement>('node-element', null)
|
const nodeElement = ref()
|
||||||
|
|
||||||
const onMouseEnterHandler = () =>
|
const onMouseEnterHandler = () =>
|
||||||
node.value.dragging && ((event: MouseEvent) => store.hooks.nodeMouseEnter.trigger({ event, node: node.value }))
|
node.value.dragging && ((event: MouseEvent) => store.hooks.nodeMouseEnter.trigger({ event, node: node.value }))
|
||||||
@@ -195,7 +195,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
ref="node-element"
|
ref="nodeElement"
|
||||||
:key="`node-${node.id}`"
|
:key="`node-${node.id}`"
|
||||||
:class="getClass"
|
:class="getClass"
|
||||||
:style="getStyle"
|
:style="getStyle"
|
||||||
@@ -209,6 +209,7 @@ export default {
|
|||||||
>
|
>
|
||||||
<component
|
<component
|
||||||
:is="type"
|
:is="type"
|
||||||
|
v-if="nodeElement"
|
||||||
:id="node.id"
|
:id="node.id"
|
||||||
:type="node.type"
|
:type="node.type"
|
||||||
:data="node.data"
|
:data="node.data"
|
||||||
@@ -226,6 +227,7 @@ export default {
|
|||||||
:source-position="node.sourcePosition"
|
:source-position="node.sourcePosition"
|
||||||
:label="node.label"
|
:label="node.label"
|
||||||
:drag-handle="node.dragHandle"
|
:drag-handle="node.dragHandle"
|
||||||
|
:node-element="nodeElement"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -94,4 +94,6 @@ export interface NodeProps<Data = ElementData> {
|
|||||||
targetPosition?: Position
|
targetPosition?: Position
|
||||||
sourcePosition?: Position
|
sourcePosition?: Position
|
||||||
dragHandle?: string
|
dragHandle?: string
|
||||||
|
|
||||||
|
nodeElement: HTMLDivElement
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user