mxgraph js如何自动获取全部mxcell,即获取全部的cell.id ,大神们帮帮忙网上找不到,急用!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mxgraph js如何自动获取全部mxcell,即获取全部的cell.id ,大神们帮帮忙网上找不到,急用!!!相关的知识,希望对你有一定的参考价值。

参考技术A Object.values(mGraph.getModel().cells).forEach((cell,index) =>
console.log(cell.id)

)
参考技术B 问题能说的 详细一点嘛?追问

我是使用mxgraph编辑的拓扑图,我现在要在js里自动获取xml文件里全部的cell的id,怎么办?

mxgraph进阶---如何创建无边框的文本标签,该标签会自动调整为文本

对于给定的图形和父级,可以如下实现:

var graph = new mxGraph(container);
var parent = graph.getDefaultParent();

如果要在每次更改其值后更改单元格大小,则需要覆盖第一个mxGraph.isAutoSizeCell:

graph.isAutoSizeCell = function(cell)

  var state = this.view.getState(cell);
  var style = (state != null) ? state.style : this.getCellStyle(cell);

  return this.isAutoSizeCells() || style['autosize'] == 1;
;

此实现使用一种新样式(自动调整大小),可以将其设置为1以启用自动调整单元格的大小,如下所示:

graph.getModel().beginUpdate();
try

  var v1 = graph.insertVertex(parent, null, 'Hello,', 20, 20, 80, 30,
    'strokeColor=none;fillColor=none;resizable=0;autosize=1;');
  graph.updateCellSize(v1);

finally

  graph.getModel().endUpdate();

插入后,对updateCellSize的调用将单元格的大小显式更新为其首选大小。resizable = 0样式是可选的,并且禁用单元格的手动调整大小。

以上是关于mxgraph js如何自动获取全部mxcell,即获取全部的cell.id ,大神们帮帮忙网上找不到,急用!!!的主要内容,如果未能解决你的问题,请参考以下文章

mxGraph源码学习:mxCell

mxgraph进阶---如何创建无边框的文本标签,该标签会自动调整为文本

mxGraph源码学习:mxClient

mxgraph在Actions.js中实现文件相关操作

mxgraph在Actions.js中实现文件相关操作

mxgraph在Actions.js中实现文件相关操作