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" 吗?
我正在尝试设置 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" 吗?