antvis/G6

使用create-edge在节点之间创建边时,如果有双向的边,该如何让两条边使用不同锚点? #5121

zeropochan posted onGitHub

问题描述

业务需求中需要在两个自定义节点之间创建有箭头的边,要求支持两个方向,我使用了create-edge这个mode并且trigger指定为drag进行边的创建,单向边没有问题,但是如果需要在两个节点之间创建两条不同方向的边时,会在相同的两个锚点之间生成一条有两个箭头的边,不是很美观,该如何让两条边使用不同的锚点呢? 尝试发现在create-edge模式中无法使用sourceAnchor 或者targetAnchor指定某条边使用节点的哪一个锚点进行连线,内部算法会自动使用节点之间最近的两个锚点进行连线。 因此我觉得该问题可以转换为使用create-edge模式,trigger为drag的情况下进行边的创建时,如何指定source节点和target节点使用当前连线用到的锚点,而不是使用自动计算得到的最近的锚点? 请赐教,谢谢!

重现链接

重现步骤

  1. 两个节点间使用create-edge模式进行边的创建
  2. 在两个节点间创建两条不同方向的边

预期行为

期望创建出来的边的锚点为连线时使用的锚点,而不是内部算法计算得到的锚点

平台

  • 操作系统: Windows 10
  • 网页浏览器: Google Chrome
  • G6 版本: 4.7.16

屏幕截图或视频(可选)

现在的表现: image 期望可以达到的效果: image

补充说明(可选)

No response


Hi @zeropochan, Please star this repo if you find it useful! Thanks :star:! 你好 @zeropochan。如果该仓库对你有用,可以 star 一下,感谢你的 :star:!

posted by github-actions[bot] over 1 year ago

hi @zeropochan, welcome!

posted by github-actions[bot] over 1 year ago

This issue has been closed because it has been outdate for a long time. Please open a new issue if you still need help.

这个 issue 已经被关闭,因为 它已经过期很久了。 如果你仍然需要帮助,请创建一个新的 issue。

posted by github-actions[bot] 10 months ago

process-parallel-edges可以实现平行边,不知能符不符合你的需求 image

posted by awen1011 5 months ago

Fund this Issue

$0.00
Funded

Pull requests