treestore如果從根節點遍歷樹獲取所有記錄太麻煩
版本
7.x
解決
使用treestore.byIdMap即可獲取根據記錄ID映射的所有記錄
原始碼分析
modern/src/TreeStore.js
Ext.define('Ext.data.TreeStore', {
registerNode: function(node, includeChildren) {
var me = this,
was = me.byIdMap[node.id],
children, length, i;
// Key the node hash by the node's IDs
me.byIdMap[node.id] = node;
// If the node requires to be informed upon register, and is not already
// registered, keep it informed.
if (node.onRegisterTreeNode && node !== was) {
node.onRegisterTreeNode(me);
}
// Keep a count of nodes which require to be informed upon unregister.
// If we are destroyed, or change root nodes, a cascade will be
// necessary if this is non-zero.
if (node.onUnregisterTreeNode) {
me.nodesToUnregister++;
}
if (includeChildren === true) {
children = node.childNodes;
length = children.length;
for (i = 0; i < length; i++) {
me.registerNode(children[i], true);
}
}
},
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/257514.html
標籤:區塊鏈
