如何使用选择器:在cytoscape.js中删除?

时间:2014-04-18 12:02:20

标签: cytoscape.js

如何从图表中删除eles? cy.filter(“:removed”)不起作用,cy.elements()没有删除eles。

谢谢!

2 个答案:

答案 0 :(得分:0)

Cytoscape.js不会在图表中保留已删除的元素。这与他们被删除相矛盾。所以,当然如果你向图表询问所有被移除的元素,它会返回一个空集合 - 即图中没有被删除的元素。

:removed选择器的存在是为了完整性,因此您可以在自己的集合中使用它。如果您有一个集合,您已将其保留在引用中,则稍后可能会删除某些元素,但它们仍然位于引用的集合中。

答案 1 :(得分:0)

您需要记住删除的节点,然后对它们调用恢复:

var removed = [];

function remove(elements)
{
 removed.push(elements);
 selected.remove();
}

function restore()
{
    cy.startBatch();
    for (var i = 0; i < removed.length; i++)
    {
        removed[i].restore();
  }
    removed = [];
    cy.endBatch();
}

出于某种原因,在大图上删除需要很长时间。如果您只删除和恢复节点,它们的连接边缘就会消失。