首页 > 解决方案 > 关于 mxGraph:如何先添加 Edge,然后添加自己的自定义属性,然后添加到图形中?

问题描述

因为我注册了一个关于 CELL_ADD 的侦听器来证明我添加两种不同类型的边时的合理性,所以我以不同的方式处理它们。但问题是我将方法更改为“添加边缘”操作后未能添加边缘

这是我的第一个成功版本:

graph.insertEdge(parent, null, '', defiVertex, outVertex);

这是我想要的新版本,但失败了:

 edge.edge = true;
 edge.type = AUTO_INSERT_EDGE;
 graph.addEdge(edge);

感谢您的帮助!

标签: javascriptmxgraph

解决方案


不确定您要做什么,但是为什么不覆盖 addListener 函数呢?在那里,您可以检索更改,如果名称是 mxTerminalChange,您知道您正在添加/修改边缘:

model.addListener(mx.mxEvent.CHANGE, function(sender, evt) {
    var changes = evt.getProperty('edit').changes;
    if (changes[i].constructor.name ==  "mxTerminalChange") {
        // Manage the add of a new connection
        ...
    }
});

推荐阅读