拖动节点、分组与边

移动节点和分组,或拖动边的端点并保存重连结果

拖动节点与分组 · 拖动边端点

拖动节点和分组

节点拖动用 drag-node 开启。拖动已选节点时,其他已选节点也会移动。拖动分组里的空白处,可以移动整个分组。

正在加载示例…
拖动节点,或拖动分组内的空白处。按住 Shift 点击可追加选择。
behaviors: [
  'zoom-canvas',
  'drag-canvas',
  { type: 'click-select', multiple: true, trigger: 'shift' },
  'drag-node',
],

节点的分组归属通过分组 API 更新。 分组方法

拖动边的端点

边端点拖动用 drag-edge 开启。松开后,edge:dragend 会报告新的起点和终点。业务确认可以重连后,用 updateEdgeData() 保存。

正在加载示例…
从 A 到 B 的边靠近 B 的位置开始拖动,在 C 上松开。
graph.on('edge:dragend', ({ edgeId, source, target, reconnected }) => {
  if (reconnected && edgeId) {
    graph.updateEdgeData([{ id: edgeId, source, target }]);
  }
  ui.setStatus(`dragend reconnected=${reconnected}\n${edgeId ?? '-'}: ${source} → ${target}`);
});