javascript - 关于 mxGraph:如何先添加 Edge,然后添加自己的自定义属性,然后添加到图形中?
问题描述
因为我注册了一个关于 CELL_ADD 的侦听器来证明我添加两种不同类型的边时的合理性,所以我以不同的方式处理它们。但问题是我将方法更改为“添加边缘”操作后未能添加边缘
这是我的第一个成功版本:
graph.insertEdge(parent, null, '', defiVertex, outVertex);
这是我想要的新版本,但失败了:
edge.edge = true;
edge.type = AUTO_INSERT_EDGE;
graph.addEdge(edge);
感谢您的帮助!
解决方案
不确定您要做什么,但是为什么不覆盖 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
...
}
});
推荐阅读
- google-analytics - 我可以对 Google Analytics 的数据进行聚合吗(直接调用 Google Analytics API)
- python-3.x - Python 特征选择
- vue.js - Vuejs无法读取未定义错误的属性“使用”
- ios - Firebase/Crashlytics 在提交崩溃报告时遇到问题
- mysql - 从包含许多记录的 MySQL 集中选择一个分布式样本记录集
- javascript - 如何显示由 PHP 页面的按钮单击触发的 Selenium 脚本的进度条?
- python - Python sqlite3 conn.commit() 未将数据保存到 db 文件
- python - 熊猫:如何个性化 dataframe.boxplot()?
- angular - Angular 6:如何设置路由应用程序路由导航到子项目应用程序路由
- php - PHP array_unique 不返回唯一值