如何更改mxCell的父级

时间:2017-10-10 10:05:37

标签: javascript mxgraph

我正在尝试在运行时更改mxCell的父级,但没有运气。 这是场景。 两个泳道被添加到图表中。 每条泳道都有一个孩子的形状。 当任何泳道中的一个形状移动到另一个泳道(拖放)时,默认情况下不会更新父级。 所以在我处理CELLS_MOVED事件的代码中,在处理程序中,尝试将父代分配给被移动的单元格。

childCell.setParent(parentCell);

为了确保更改得到更新,我还将代码嵌入到开始和结束更新函数中。

在调试期间,我看到孩子的父母已经更新了。但是当我尝试删除父项时,不会删除新添加的子单元格。在调试时,我发现形状再次丢失了它的父ID。

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

这应该自动处理。 graph.dropEnabled的价值是多少?如果这样做无效,请尝试使用model.add https://jgraph.github.io/mxgraph/docs/js-api/files/model/mxGraphModel-js.html#mxGraphModel.add

更改父级

答案 1 :(得分:0)

您只需要按如下所示调用模型的add函数。

graph.getModel().add(parent, child, index); // index is optional here