javascript - contextMenu的GoJS makeSvg

标签 javascript svg gojs

右键单击节点时,我会显示该节点的其他详细信息。 现在,当仅选择节点而不是右键单击节点时,我想在其他地方显示这些详细信息。

有没有办法从装饰/上下文菜单制作 SVG

我尝试将 contextMenu 视为普通节点

我打电话

diagram.makeSVG({
    parts: diagram.selection.first().adornments.first()
})

或者

diagram.makeSVG({
    parts: diagram.selection.first().contextMenu
})

但都不起作用。

我总是收到错误“无法设置未定义的属性‘重置’”

尝试

diagram.makeSVG({
    parts: diagram.selection.first().adornments 
})

以某种方式没有错误地工作,这很奇怪,因为装饰提供了一个迭代器。这样就创建了 SVG(我在查看 HTML 时看到了它,然后将其放置在其中),但没有任何内容。

如何正确从 contextMenu 创建 SVG?

最佳答案

首先,Diagram.makeSvg方法的参数的“parts”属性需要一个集合,即Iterable

其次,如果您希望Diagram.makeSvgDiagram.makeImage渲染装饰或其他临时部件 s,您需要指定“showTemporary”。 //假设 myDiagram.selection.count > 0: var svg = myDiagram.makeSvg({ 部分:myDiagram.selection.first().adornments, 显示临时: true }); 这将包括为所选部分显示的任何上下文菜单。

第三,如果您只想渲染 GoJS 上下文菜单: var cm = myDiagram.selection.first().findAdornment("ContextMenu"); if (cm === null) 返回; var ads = new go.List(); 广告.添加(厘米); var svg = myDiagram.makeSvg({ 部分:广告、 显示临时: true });

关于javascript - contextMenu的GoJS makeSvg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32115773/

相关文章:

python - 在 Python 中调用 Inkscape

SVG:更改中间路径的线条颜色

javascript - 内联 SVG 元素不适用于 Div

javascript - 如何在单独的输入中手动设置节点和链接文本?

javascript - GoJs - 通过图中的键更新节点的文本和默认属性

javascript - 使用 backbone.js 以相反的顺序对字符串进行排序

JavaScript匿名函数参数及调用安排

javascript - gojs 座位表 - 按代码为客人安排座位

Javascript - 将字符串转换为关联数组并按值汇总

javascript - 如何仅触发目标子元素的父ng-click事件