gpt4 book ai didi

javascript - Ag-grid:从 getRowNodeId 回调中检测到重复的节点 ID 107,这可能会导致网格出现问题

转载 作者:行者123 更新时间:2023-12-02 21:55:47 26 4
gpt4 key购买 nike

我要在 ag-grid 数据表上进行实时数据流,因此我使用 DeltaRowData 作为 gridOptions,并添加了 getRowNodeId 方法,该方法返回唯一值“id”。毕竟,我在设置的一段时间内在网格表上获得了实时更新结果,但有些行是重复的,因此我可以注意到每次加载更新数据时总计数都会有所增加。问题标题是来自浏览器控制台的警告消息,我收到了一堆具有不同 ID 号的消息。实际上它不应该从下面这样做 docs 。这应该可以检测重复项并智能地添加新的重复项(如果不存在)。 Ofc,有几种方法可以实时刷新数据,但我选择了这个,因为它说它有助于保留网格信息,例如选定的行、网格上滚动的当前位置等。我正在使用 vanilla js,不打算使用任何框架。如何在不更改任何当前网格内容的情况下定期更新实时数据?代码没有错误,所以不要试图谈论任何错误。也许我当前的实现是错误的,无论如何,我想知道这个想法或听听这方面的任何实现经验。

let gridOptions = {
....
deltaRowDataMode: true,
getRowNodeId = (data) => {
return data.id; // return the property you want set as the id.
}
}

fetch(loadUrl).then((res) => {
return res.json()
}).then((data) => {
gridOptions.api.setRowData(data);
})

...

最佳答案

如果你得到:

duplicated node warning

这意味着您的 getRowNodeId() 对于 2 个不同的行有 1 个值。

这是部分from source :

if (this.allNodesMap[node.id]) {
console.warn("ag-grid: duplicate node id '" + node.id + "' detected from getRowNodeId callback, this could cause issues in your grid.");
}

所以请尝试再次检查您的数据。

如果您 100% 确定存在与您的数据无关的错误 - 删除私有(private)数据,创建一个 plinkr/stackblitz 示例来重现您的问题,然后检查和帮助您会更简单。

关于javascript - Ag-grid:从 getRowNodeId 回调中检测到重复的节点 ID 107,这可能会导致网格出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60016571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com