Cytoscape JS 中撤消删除节点操作

Wal*_*orf 3 javascript cytoscape cytoscape.js

当您在 cytoscape JS 中删除节点(使用cy.remove())时,附加到这些节点的边也会从图中删除。cy.remove() 的描述说它从图中删除元素并返回它们。但是,返回的数据不包括删除的边。

结果是以下操作顺序

removedData = cy.remove(someNodes); cy.add(removedData);
Run Code Online (Sandbox Code Playgroud)

请修改图形,因为它们可能会导致某些边缘消失。

您应该如何在 Cytoscape JS 中执行可逆删除操作?

Suz*_*ley 5

您可以只显式地包含边缘:

removedData = cy.remove(someNodes.union(someNodes.connectedEdges()));
Run Code Online (Sandbox Code Playgroud)

然后 和removedData.restore()都会cy.add(removedData)恢复节点和边。