这是我正在使用的节点模板:

      $(go.Node, "Auto",
    {
      deletable: false,
      selectionAdorned: false
    },
    new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
    $(go.Shape, "Terminator",
      {
        fill: "#f8da07", strokeWidth: 2, minSize: new go.Size(90, 40), portId: "", cursor: "pointer", stroke: '#000000', fromLinkable: true,
        toLinkable: false, fromLinkableSelfNode: false, toLinkableSelfNode: false, fromLinkableDuplicates: false, toLinkableDuplicates: false, fromMaxLinks: 1
      },
      new go.Binding("figure"),
      new go.Binding("fill", "color"),
      new go.Binding("fill", "isSelected", function(sel) {
        return sel ? "#e1e1e1" : [selfColor];
      }).ofObject()),
    {
      click: (e, obj) => {
        clickNode(e, obj);
      }
    },
    $(go.TextBlock,
      {
        stroke: "#000000", margin: 4, editable: false, font: "bold 12pt sans-serif", isMultiline: true
      },
      new go.Binding("text").makeTwoWay())
  );

您可以看到该节点的默认颜色是#f8da07,但实际上它是由节点self color属性通过“ new go.Binding(“ fill”,“ color”)“行写入的。

就这样,我无法知道哪个是所选节点的当前颜色代码。

我希望能够在选择节点时将其颜色更改为“#e1e1e1”,但我还希望在不选择时将其颜色更改回旧颜色(而不是“#f8da07”)。

有适当的方法来做到这一点吗?

任何帮助将不胜感激! 谢谢

#1楼 票数:1 已采纳

$(go.Shape,
  { fill: "#f8da07" },  // default color
  new go.Binding("fill", "color"),
  new go.Binding("fill", "isSelected", function(sel, shape) {
    return sel ? "#e1e1e1" : shape.part.data.color || "#f8da07";
  }).ofObject()),

  ask by Letie Techera translate from so

未解决问题?本站智能推荐:

1回复

gojs-选中时更改节点的颜色,但是否则返回原始颜色吗?

这是我正在使用的节点模板: 您可以看到该节点的默认颜色是#f8da07,但实际上它是由节点self color属性通过“ new go.Binding(“ fill”,“ color”)“行写入的。 就这样,我无法知道哪个是所选节点的当前颜色代码。 我希望能够在选择节点时将其
3回复

GoJS:如何更改节点填充颜色?

我正在使用GoJS制作图表。 我的图表配置(来自官方文档的示例): 我以以下方式创建节点: 现在,我需要以编程方式更改特定节点的填充颜色。 我正在尝试以下代码: 但是之后,我的图表不会显示。 并且控制台中没有错误。 我应该为节点设置新形状吗? 或者我该怎么做
1回复

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

我想通过它们在图中的键来动态更改节点的文本和默认属性。 我在文档中没有找到任何选项。 谢谢。
1回复

gojs - 添加端口控制器

我在go.js中有一个带有“topArray”的节点模板,它可能包含几个端口,如本例所示。 对于每个顶部端口,我想添加一个“控制器”项目 - 一个小的可点击矩形,文本旁边,位于每个端口上方约10个像素。 控制器对象有一些要求: 与它的相应端口(和节点)一起移动 可以向上
1回复

GoJS节点的位置

正如我所做的那样,为了使GoJS所有元素在一个组内在彼此前面而不是当前出现的成对,所以我想: S - > A - > B - > E. 但实际上看起来像这样: S - > A. B - > E. 好吧,我把这个例子放在jsFiddle中
1回复

goJS锁定节点

我有一个简单的python flask应用程序,可在其中将JSON数据发送到HTML并使用goJS显示如下图: 用户可以添加新的节点和链接,但是我想要的是起始图已锁定,因此用户无法编辑或删除该起始图中的任何节点或链接。 我只希望他们可以添加新的节点和链接,并将其链接到起始图节点。
1回复

GoJS-未捕获的错误:[对象Object]上的Model.makeNodeDataKeyUnique失败

我想设置nodeKeyProperty gojs图模型。 以下代码是我想要做的- 但是我无法成功运行此代码。 我收到以下错误- 我尝试调试gojs代码,并以某种方式发现将id && (nodeData.id = id)到nodeKeyProperty实现中可以
1回复

GoJS Genogram,通过自定义更改节点顺序

在GoJS Genogram的示例中 我只知道如何自定义节点形状,链接样式以及有关视图的内容。 但是我无法弄清楚如何参与节点的排序,例如:我添加了一个关于所有家庭年龄的属性,并希望在进行gojs绘制时按同一代的年龄进行排序。 这是我的例子 我如何才能自动将大家庭改为左,我以为
1回复

如何在Go.js中更改节点的文本

我正在使用go.js制作图表。 一切都很好,但是现在我想编辑颜色一样的文本。 为此,我做了一个textarea 。 我已经做到了,但是问题是当我更改一个节点的文本时,它更改了我先前选择的其他节点的文本。 不知道我在哪里错。 这是我的代码:
1回复

如何在GOjs中拖动时增加节点大小?

我正在使用GOjs创建节点并将它们彼此连接,就像流程图一样。 我有两个分区。 在第一个div(id =“ NodesContainer”)中,我将创建go.Palette,并使用第二个div(id =“ myDiagram”)的ID,以在javascript中调用Init()方法时设计节点。