GoJS - Uncaught Error: Model.makeNodeDataKeyUnique failed on [object Object]

GoJS - Uncaught Error: Model.makeNodeDataKeyUnique failed on [object Object]

我正在尝试设置 nodeKeyProperty 的 gojs 图模型。以下代码是我正在尝试做的 -

<!DOCTYPE html>
<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/gojs/1.6.7/go-debug.js"></script>
</head>
<body>
    <div id="myDiagramDiv" style="width:400px; height:150px; background-color: #DAE4E4;"></div>
    <script type="text/javascript">
        var $ = go.GraphObject.make;
        var diagram = $(go.Diagram, "myDiagramDiv");

        diagram.nodeTemplate = $(go.Node, "Auto",
            $(go.Shape, "RoundedRectangle", new go.Binding("fill", "fill").makeTwoWay()),
            $(go.TextBlock, new go.Binding("text", "id"))
        );

        diagram.model = new go.GraphLinksModel();

        diagram.model.nodeKeyProperty = function(nodeData, id) {
            // id && (nodeData.id = id);// enabling it will fix the issue.
            return nodeData.id;
        };

        diagram.model.addNodeData({
            fill:"green"
        })
    </script>
</body>
</html>

但我无法 运行 成功执行此代码。我收到以下错误 -

    Uncaught Error: Model.makeNodeDataKeyUnique failed on [object Object].  Data not added to Model.
    at Object.k (go-debug.js:31)
    at X.L.addNodeData.L.vl (go-debug.js:356)
    at index-copy.html:26

我尝试调试 gojs 代码并以某种方式发现将 id && (nodeData.id = id) 添加到 nodeKeyProperty 实现可以解决问题。但是,从 docs 我不清楚是否需要。我做错了什么吗?

提前致谢。

Model.nodeKeyProperty 的文档不完整。如果值是一个函数,它应该有一个或两个参数。如果只有一个参数,它应该 return 该数据对象的数字或字符串键值。如果有两个参数,它应该修改该对象以使用第二个参数值作为它的键值。

但是你不应该只是将 Model.nodeKeyProperty 设置为 "id" 吗?