Browse Source

Pull request #3467: FDL-2946 提升大数据量下inittree的速度

Merge in VISUAL/fineui from ~TELLER/fineui:master to master

* commit '72c7d698a453d87f2d6bdc55c4e84f20bb2d6e32':
  🦄 refactor: 修改为forEach
  🐞 fix(FDL-2946): 提升大数据量下inittree的速度
master
Teller-杨派 1 year ago
parent
commit
4ce24a019f
  1. 15
      src/core/structure/tree.js

15
src/core/structure/tree.js

@ -30,23 +30,26 @@
initTree: function (nodes) {
var self = this;
this.clear();
var queue = [];
var queue = new Set();
BI.each(nodes, function (i, node) {
var n = new BI.Node(node);
n.set("data", node);
self.addNode(n);
queue.push(n);
queue.add(n);
});
while (!BI.isEmpty(queue)) {
var parent = queue.shift();
queue.forEach(parent => {
queue.delete(parent);
var node = parent.get("data");
BI.each(node.children, function (i, child) {
var n = new BI.Node(child);
n.set("data", child);
queue.push(n);
queue.add(n);
self.addNode(parent, n);
});
}
});
},
_toJSON: function (node) {

Loading…
Cancel
Save