复现步骤
- 创建一个包含 DynamicGroup 节点的流程图,Group 内部有子节点,且存在从 Group 内节点连出的边
- 随意拖拽其中一条连线(手动调整边的路径/锚点位置)
- 对该 DynamicGroup 节点执行展开/折叠操作若干次
- 再次点击选中这条被拖拽过的连线
期望行为
连线正常显示并可选中,坐标计算正确。
实际行为
连线消失不可见。控制台出现大量 NaN 相关的 SVG 属性错误:
Error: attribute y: Expected length, "NaN".
Error: attribute height: Expected length, "NaN".
Error: attribute points: Expected number, "….24999999999994,NaN 453.24999999…".
Error: attribute d: Expected number, "MNaN NaN\n LN…".
同时控制台有以下警告信息:
⚠ 未在节点上找到指定的终点锚点07c02d63-8d8d-4a8b-b442-2dce44581ffa_3,已使用默认锚点作为终点 BaseEdgeModel.js:284
⚠ 未在节点上找到指定的起点锚点9ba85ffb-709f-4659-bd3d-1cd6d30da289_1,已使用默认锚点作为起点 BaseEdgeModel.js:253
问题分析
从控制台警告来看,DynamicGroup 在折叠/展开过程中,子节点的锚点 ID 发生了变化或丢失。当边模型尝试根据之前记录的锚点 ID(如 07c02d63..._3、9ba85ffb..._1)查找锚点时找不到,回退使用默认锚点。但由于之前手动拖拽过边导致边上存在自定义的中间路径点(pointsList),这些路径点的坐标与回退后的新锚点位置不一致,最终导致坐标计算产生NaN。
截图
原始流程图(正常状态)
展开折叠后点击连线(连线消失,红线为标注)
控制台报错
logicflow/core版本
@logicflow/core 2.1.11
logicflow/extension版本
@logicflow/extension 2.1.15
logicflow/engine版本
......
浏览器&环境
Chrome
复现步骤
期望行为
连线正常显示并可选中,坐标计算正确。
实际行为
连线消失不可见。控制台出现大量 NaN 相关的 SVG 属性错误:
Error: attribute y: Expected length, "NaN".
Error: attribute height: Expected length, "NaN".
Error: attribute points: Expected number, "….24999999999994,NaN 453.24999999…".
Error: attribute d: Expected number, "MNaN NaN\n LN…".
同时控制台有以下警告信息:
⚠ 未在节点上找到指定的终点锚点07c02d63-8d8d-4a8b-b442-2dce44581ffa_3,已使用默认锚点作为终点 BaseEdgeModel.js:284
⚠ 未在节点上找到指定的起点锚点9ba85ffb-709f-4659-bd3d-1cd6d30da289_1,已使用默认锚点作为起点 BaseEdgeModel.js:253
问题分析
从控制台警告来看,DynamicGroup 在折叠/展开过程中,子节点的锚点 ID 发生了变化或丢失。当边模型尝试根据之前记录的锚点 ID(如 07c02d63..._3、9ba85ffb..._1)查找锚点时找不到,回退使用默认锚点。但由于之前手动拖拽过边导致边上存在自定义的中间路径点(pointsList),这些路径点的坐标与回退后的新锚点位置不一致,最终导致坐标计算产生NaN。
截图
原始流程图(正常状态)
展开折叠后点击连线(连线消失,红线为标注)
控制台报错
logicflow/core版本
@logicflow/core 2.1.11
logicflow/extension版本
@logicflow/extension 2.1.15
logicflow/engine版本
......
浏览器&环境
Chrome