2016-11-25 120 views
0

我希望在节点内部有一个形状,这部分会超出节点的边界。含义,-10px顶部和左侧的父元素。在GoJS节点或graphObject中出现“可见溢出”

现在我有矩形和一个节点内部的圆,它看起来像这样:

enter image description here

正如你可以看到,该链接无法正常连接,因为节点的大小有扩大。我希望圆是用css术语来定位的,换句话说,我不希望它影响节点调整节点的大小(很明显,在这个示例中是不可见的)。

我试过以下解决方案:

设置节点的宽度和高度。然后,它会裁剪这个圈子,因为它超出了界限。

使用节点中的fromSpot和toSpot属性将链接连接到节点的中心。显然他们被覆盖的布局,我不知道如何禁用isLayoutPositioned

使用装饰品,但我根本不明白我应该如何使用它们。

搜索是否可以以某种方式将元素的溢出设置为可见,或者以某种方式影响边界或类似的东西,但是没有找到任何对我有用的东西。

这里有什么适当的解决方案?

回答

0

让您节点一个“点”小组,通过分配一个GraphObject.portId使您的节点“端口”的“主”元素,相对红圈定位到“主”元素通过设置其GraphObject.alignment属性,在这种情况下为go.Spot.TopLeft。我也猜测,分配Node.locationObjectName是你会想要的。

myDiagram.nodeTemplate = $(go.Node, "Spot", { locationSpot: go.Spot.Center, locationObjectName: "BODY" }, $(go.Shape, { name: "BODY", width: 50, height: 50, fill: "lightgreen", strokeWidth: 0, portId: "" }), $(go.Shape, "Circle", { alignment: go.Spot.TopLeft, width: 20, height: 20, fill: "transparent", stroke: "red" }) );

​​

请阅读更多的http://gojs.net/latest/intro/nodes.html。我建议您不仅要阅读入门页面http://gojs.net/learn,还要阅读所有适用于您要创建的应用类型的简介页面,http://gojs.net/intro

特别地,这些应该是有用的: