我需要将自定义<line>
和<text>
元素添加到由mxGraph库呈现的SVG中。
有谁知道怎么做(或者根本不可能)?
答案 0 :(得分:1)
我通过创建一个带有0长度顶点的文本元素(标签)找到了解决方法。 见http://jgraph.github.io/mxgraph/javascript/examples/labels.html
var v1 = graph.insertVertex(parent, null, 'vertexLabelsMovable', 20, 20, 80, 30);
// Places sublabels inside the vertex
var label11 = graph.insertVertex(v1, null, 'Label1', 0.5, 1, 0, 0, null, true);
var label12 = graph.insertVertex(v1, null, 'Label2', 0.5, 0, 0, 0, null, true);
但是,对我来说,这仍然是一个非常糟糕的解决方案。
答案 1 :(得分:0)
this.addEntry('vertical Line', mxUtils.bind(this, function() {
var cell = new mxCell('', new mxGeometry(0, 0, 10, 160), 'line;strokeWidth=2;direction=south;html=1;');
cell.vertex = true;
this.graph.setAttributeForCell(cell, 'placeholders', '1');
this.graph.setAttributeForCell(cell, 'capacity', '0');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Vertical Line');
}))
垂直线代码