mxGraph-如果超过默认大小,如何自动将mxCell调整为内容宽度

时间:2018-07-31 18:29:23

标签: javascript html5 mxgraph

如何创建mxCell,设置其mxGeometry的最小宽度,但是如果它的值字段的html元素比默认宽度大,它将调整为其value字段的html元素的宽度?

现在我有了这段代码

var style = 'rounded=0;whiteSpace=wrap;html=1;autosize=1;resizable=0;';
var cell = new mxCell(value, new mxGeometry(0, 0, width, height), style);

但是,当我创建此mxCell时,即使它包含的html元素(一个h3标题)超过了mxRectangle,它的大小也始终为“宽度”和“高度”。我该如何解决?

编辑:谢谢,它使用graph.updateCellSize()工作。因为我只想更改尺寸,但我想更改尺寸,所以我写了这段代码

this.graph.updateCellSize(cell, true);
var geom = cell.getGeometry();
geom.width = geom.width > width ? geom.width : width;

它将值更改两次,效率低下。我找到了另一种使用getPreferredSizeForCell

的方法
var preferred = this.graph.getPreferredSizeForCell(cell);
var current = cell.getGeometry();
current.width = preferred.width > width ? preferred.width : width;
current.height = preferred.height > height ? preferred.height : height;

1 个答案:

答案 0 :(得分:0)

尝试graph.updateCellSize(cell,true);