我有一个正在使用的图表解决方案,它使用基于devs.Model的自定义元素,这些元素在运行时动态创建。每个元素可能具有一个或多个inPorts和outPorts。我正在尝试根据内容为每个端口指定位置的Y部分。
当前,我遍历正在绘制的对象,并为每个元素构造标记,并跟踪需要创建的inPort和outPort。构建完所需的标记后,我将实例化该元素,指定标记,大小,位置和端口组配置(到目前为止的颜色和大小)。
然后,我遍历已构建的inPort和outPort集合,并使用 el1.addOutPort(name)或 el1.addInPort(name)添加端口。在文档中,它是指可以传递的[opts]对象,但似乎尚不清楚其可以包含的内容,或者至少我看不到任何指定端口放置位置的信息。
这是我现在所得到的示例图像
我正在尝试使它的两端(在这种情况下)的两个端口都显示在与文本“ process”相同的框中。
我希望这是我一直忽略的事情,谢谢您的反馈。
答案 0 :(得分:1)
虽然这可能不是最佳解决方案,但这是我想到的。我正在发布答案,以防将来有人试图找出相同的问题。
我一直在使用
添加端口el1.addOutPort(portName);
,并试图找到我可以添加到该代码的代码。
我回到了jointjs站点,并仔细阅读了他们的教程,直到看到一个专门放置端口并查看源代码的教程。在此基础上,经过一些实验,我想到了
el1.addPort({ group: 'out', id: portName, args: { y: yPosition+offset }});
这是结果