From 65e7027170583a3f0a6ce07bc06d15a230e6e8fb Mon Sep 17 00:00:00 2001 From: wbccb Date: Sat, 6 Apr 2024 21:16:02 +0800 Subject: [PATCH] fix(extension): trigger updateEdgePointByAnchors() after moveTo(#1384) --- packages/extension/src/NodeResize/Control/Control.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/extension/src/NodeResize/Control/Control.tsx b/packages/extension/src/NodeResize/Control/Control.tsx index a3079008c..2ffc2acad 100644 --- a/packages/extension/src/NodeResize/Control/Control.tsx +++ b/packages/extension/src/NodeResize/Control/Control.tsx @@ -384,14 +384,14 @@ class Control extends Component { * 由于将拖拽放大缩小改成丝滑模式,这个时候需要在拖拽结束的时候,将节点的位置更新到grid上. */ onDragEnd = () => { - // 先触发onDragging()->更新边->再触发用户自定义的getDefaultAnchor(),所以onDragging()拿到的anchors是滞后的 - // 为了正确设置最终的位置,应该在拖拽结束的时候,再设置一次边的Point位置,此时拿到的anchors是最新的 - this.updateEdgePointByAnchors(); - const { gridSize = 1 } = this.graphModel; const x = gridSize * Math.round(this.nodeModel.x / gridSize); const y = gridSize * Math.round(this.nodeModel.y / gridSize); this.nodeModel.moveTo(x, y); + + // 先触发onDragging()->更新边->再触发用户自定义的getDefaultAnchor(),所以onDragging()拿到的anchors是滞后的 + // 为了正确设置最终的位置,应该在拖拽结束的时候,再设置一次边的Point位置,此时拿到的anchors是最新的 + this.updateEdgePointByAnchors(); }; render() { const {