0

您好,我开发了一个代码,其中 MynodeTemplate 看起来像

GO(go.Node, "Auto",
        GO(go.Shape,
                  new go.Binding("fill", "boxcolor")),
                  GO(go.Panel, "Table",
                    { defaultAlignment: go.Spot.Left, margin: 4 },
                    GO(go.RowColumnDefinition, { column: 1, width: 4 }),
                    GO(go.TextBlock,
                      { row: 0, column: 0, columnSpan: 3, alignment: go.Spot.Center },
                      { font: "bold 12pt sans-serif" },
                      new go.Binding("text", "name")),
                      //Checkbox code 
                      GO(go.TextBlock, "Meta Item : ",
                        { row: 1, column: 0 }),
                    GO(go.TextBlock,
                      { row: 1, column: 2 },
                        new go.Binding("text", "MetaItemName")),
                    GO(go.TextBlock, "Perspective: ",
                                 { row: 2, column: 0 }),
                    GO(go.TextBlock,
                      { row: 2, column: 2 },
                    new go.Binding("text", "PerspectiveName")),

                  ),
                  new go.Binding("scale", "scale").makeTwoWay(),
                  new go.Binding("font", "font").makeTwoWay(),
                  new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
                  new go.Binding("locationSpot", "dir", function(d) { return spotConverter(d, false); })
                );

和 UI 看起来像

在此处输入图像描述

我想在我的名字旁边放一个复选框,所以我有类似的代码

GO("CheckBox","name",{row:1,column:1}),

但它不会来

4

1 回答 1

1

它对我来说很好,除了你将第 1 列的RowColumnDefinition.width设置为 4,这对于复选框来说真的太窄了。将宽度 4 更改为 14 宽度会导致: 表格面板中的复选框

请注意,如果用户选中“CheckBox”,它会修改data.name属性,因为这是您在“CheckBox”定义中提供的属性名称。但是您也将第一个TextBlock绑定到该data.name属性,这就是为什么在第二个节点中标题/标题文本已更改为“true”的原因。

顺便说一句,我直到现在才看到这个关于 GoJS 的问题,因为你标记的是“go.js”而不是“gojs”。我建议您删除/删除“go.js”标签并用“gojs”标记它。

于 2016-11-26T03:02:40.393 回答