-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Event 'edge:connected' is not triggered when redirect edge's source or target which on the same node. #2779
Comments
目前想到的解决方法是,修改Edge.equalTerminals的判定 |
这个动作相对来说只是更新了edge的target的值。理论上是不应该触发 |
和连接同一节点port变更类似吧,本质也是连接同一节点的位置变更了,都应该触发吧。source或target变化了,那肯定是边重新连接了。 |
@damnright 连接锚点默认在节点中心,不管你怎么连接,都会默认重置到节点中心,除非你修改锚点位置,可以参考这个 demo |
想要使用arrowhead重新调整edge连接节点的位置,然而在同一节点上时不会触发edge:connected,就没法修改锚点位置。 |
@damnright 不一定需要非得使用 edge:connected 事件,而且 edge:connected 事件也在这里也不合适。这里还是用监听 |
batch:stop事件参数没有e和type,依旧没法修改锚点位置啊,还有什么别的方法呢 |
@damnright 如果这样的话,可以监听 edge:mouseup 事件,通过 e.target 判断是否是目标节点,可以达到你的效果。 |
监听 edge:mouseup 事件,可以在e.data中拿到需要的信息,但e.data是这样的,现在是遍历查找action名字拿到的: 这个是内部属性?这样使用有问题吗,会不会不稳定 |
有个简单的方式: graph.on('edge:mouseup', ({e, view}) => {
console.log(view.getEventData(e))
}) |
This thread has been automatically locked because it has not had recent activity. Please open a new issue for related bugs and link to relevant comments in this thread. |
问题描述
使用arrowhead EdgeTool拖动edge的起点或终点,调整edge在同一节点上的连接点时(锚点),edge:connected不会触发,没法做一系列处理。操作后连接点会自动连接到节点中心锚点。
重现链接
https://codesandbox.io/s/edge-connectedchu-fa-wen-ti-k4e1qr
重现步骤
1.鼠标移到source节点。
2.点击连线到target节点任意位置。
3.鼠标移到连线终点。
4.拖动连线终点箭头,重新调整连接target节点的位置。
预期行为
edge:connected触发
平台
屏幕截图或视频(可选)
No response
补充说明(可选)
No response
The text was updated successfully, but these errors were encountered: