From 90324fca58b8cc8fa096ab4dc317a98fd9fa678e Mon Sep 17 00:00:00 2001 From: vector Date: Thu, 6 Jul 2023 09:37:48 +0800 Subject: [PATCH] fix: check labelNode existed before change postion (#3737) --- packages/x6/src/view/edge.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/x6/src/view/edge.ts b/packages/x6/src/view/edge.ts index 7e45d46c761..e077353c048 100644 --- a/packages/x6/src/view/edge.ts +++ b/packages/x6/src/view/edge.ts @@ -917,15 +917,18 @@ export class EdgeView< for (let i = 0, ii = labels.length; i < ii; i += 1) { const label = labels[i] + const labelNode = this.labelCache[i] + + if (!labelNode) { + continue + } + const labelPosition = this.normalizeLabelPosition( label.position as Edge.LabelPosition, ) const pos = ObjectExt.merge({}, defaultPosition, labelPosition) const matrix = this.getLabelTransformationMatrix(pos) - this.labelCache[i].setAttribute( - 'transform', - Dom.matrixToTransformString(matrix), - ) + labelNode.setAttribute('transform', Dom.matrixToTransformString(matrix)) } return this