- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个图表,其中包含 json 中的“逻辑”表示(我将其用于另一个程序),并且该图形表示位于 MxGraph 中,在 Angular 组件中呈现。
我使用 XML 作为单元格的值,如 Documentation 中所建议的那样.
虽然对我来说,拦截 mxgraph 中的更改并更新 json 非常容易,但我无法在图中传播 json 中的更改。
一个愚蠢的例子是,如果我更改“标签”的值。我可以这样做:
editor.graph.model.cells[2].value.setAttribute('label', "Test");
但只有当发生另一次更新时(例如,移动图表中的单元格),此更改才可见。
我尝试触发 mxEvent.CHANGE 事件,但无法正确设置编辑和更改以便它们传播到图表。我还尝试创建一个新的 mxGeometryChange,但我再次失败......
预先感谢您的任何提示...
最佳答案
我找到了一个解决方案,即使我无法使用它...这是我添加的功能:
// To use it call:
// graph.updateCell(cell, "newlabel");
graph.updateCell = function(cell, label)
{
if (cell !== null) {
cell.value.setAttribute('label', label);
this.model.beginUpdate();
try
{
//this.cellUpdated(cell);
this.model.setValue(cell, cell.value);
this.fireEvent(new mx.mxEventObject(mx.mxEvent.LABEL_CHANGED,
'cell', cell, 'ignoreChildren', false));
}
finally
{
this.model.endUpdate();
}
return cell;
} else return null;
};
我的问题是我无法使用此功能,但此时问题有所不同。原因是我想从另一个没有运行 mxgraph 的组件中使用这个函数,这就是我现在的挣扎...这变成了一个关于 Angular ngModel 前向和后向引用的问题...我可能会在另一个组件上问它发布...
关于javascript - 如何以编程方式更改 mxCell 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58930513/
我试图在运行时更改 mxCell 的父级,但没有成功。这是场景。两条泳道已添加到图表中。每条泳道都有小时候的形状。当任何泳道中的一个形状移动到另一个泳道(拖放)时,默认情况下不会更新父级。因此,在代码
我知道方法 moveCells ,但我宁愿将单元格移动到新的绝对位置(而不是相对增量)。我尝试克隆和更新 geometry , 没有成功: var geo = graph.getCellGeometr
我需要获取通过其 Id 找到的 mxCell 的坐标 (x,y),但是当我对其调用 getGeometry() 时,它给我 null,并且在我得到 NullPointerException 后。 pr
我有一个图表,其中包含 json 中的“逻辑”表示(我将其用于另一个程序),并且该图形表示位于 MxGraph 中,在 Angular 组件中呈现。 我使用 XML 作为单元格的值,如 Documen
在 Grapheditor 的 Sidebar.js 中,有一些我感兴趣的 createVertexTemplateEntry() 调用的情况。特别是当图像被设置为样式时的情况,即: this.cre
我如何创建一个 mxCell,设置它的 mxGeometry 的最小宽度,但如果它比默认宽度更高,它会调整到它的值字段的 html 元素的宽度? 现在我有这段代码 var style = 'round
我想将“ Action 监听器”添加到 JGraphX 中的 mxcell(顶点)。如果我双击 mxcell 顶点,它应该执行一些操作。有没有办法将 Action 监听器添加到 jGraphX 中的
我正在尝试绘制具有特定边缘样式的边缘,而不是默认的边缘。问题是我在单元格和点之间绘制一条边缘,以便该边缘看起来像是从单元格到图形中的空间。 edge = graph.insertEdge(parent
我是一名优秀的程序员,十分优秀!