diff --git a/packages/tree/src/model/node.js b/packages/tree/src/model/node.js index c72299582f4..0281d3ba3e0 100644 --- a/packages/tree/src/model/node.js +++ b/packages/tree/src/model/node.js @@ -23,7 +23,7 @@ export const getChildState = node => { }; const reInitChecked = function(node) { - if (node.childNodes.length === 0) return; + if (node.childNodes.length === 0 || node.loading) return; const {all, none, half} = getChildState(node.childNodes); if (all) { @@ -463,12 +463,11 @@ export default class Node { this.loading = true; const resolve = (children) => { - this.loaded = true; - this.loading = false; this.childNodes = []; this.doCreateChildren(children, defaultProps); - + this.loaded = true; + this.loading = false; this.updateLeafState(); if (callback) { callback.call(this, children);