diff --git a/packages/table/src/store/tree.js b/packages/table/src/store/tree.js index 7558588f8a..1856fa2c49 100644 --- a/packages/table/src/store/tree.js +++ b/packages/table/src/store/tree.js @@ -187,13 +187,14 @@ export default { loadData(row, key, treeNode) { const { load } = this.table; - const { lazyTreeNodeMap, treeData } = this.states; - if (load && !treeData[key].loaded) { - treeData[key].loading = true; + const { treeData: rawTreeData } = this.states; + if (load && !rawTreeData[key].loaded) { + rawTreeData[key].loading = true; load(row, treeNode, data => { if (!Array.isArray(data)) { throw new Error('[ElTable] data must be an array'); } + const { lazyTreeNodeMap, treeData } = this.states; treeData[key].loading = false; treeData[key].loaded = true; treeData[key].expanded = true;