gpt4 book ai didi

javascript - 删除几个节点后的 D3 SVG 过渡问题

转载 作者:行者123 更新时间:2023-11-29 15:13:46 26 4
gpt4 key购买 nike

我在这个 jsfiddle 中遇到了一个奇怪的问题.如果我删除一些现有节点并稍后添加新节点,节点的转换不会保持不变。

这个场景运行良好:

  1. 运行 jsfiddle。
  2. 点击重置按钮
  3. 选择连接到其他几个节点的 ctee 节点并拖动。
  4. 所有连接的节点都应该跟随主拖动节点。
  5. 查看以下屏幕截图,连接到 ctee 节点的节点也随着 ctee 一起移动。

connected nodes moving with the main node

这个场景有问题(唯一不同的是我们要先删除一个节点,然后点击reset按钮):

  1. 运行 jsfiddle。
  2. 右键单击GW 节点并选择选项Stop
  3. 这将从屏幕上删除节点。
  4. 现在点击重置按钮
  5. 选择连接到其他几个节点的 ctee 节点并拖动。
  6. 理想情况下,所有连接的节点都应跟随主要拖动的节点,但这是行不通的。连接的节点停留在它们原来的位置。
    1. check out the following screenshot, the connected nodes to the ctee node are not moving along with ctee.

Connected nodes not moving when the node is dragged

最佳答案

问题看起来是当您删除一个节点时,您正在创建一个与您的强制布局不同步的 links 的新引用:

links = links.filter...

要解决此问题,您只需添加:force.links(links); 到其后的行以更新强制布局的引用。

更新 fiddle :https://jsfiddle.net/r1tcj0mf/16/

关于javascript - 删除几个节点后的 D3 SVG 过渡问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com