diff --git a/packages/inula/src/renderer/TreeBuilder.ts b/packages/inula/src/renderer/TreeBuilder.ts index c29126fb..c7a76bee 100644 --- a/packages/inula/src/renderer/TreeBuilder.ts +++ b/packages/inula/src/renderer/TreeBuilder.ts @@ -200,6 +200,10 @@ function getChildByIndex(vNode: VNode, idx: number) { // 从多个更新节点中,计算出开始节点。即:找到最近的共同的父辈节点 export function calcStartUpdateVNode(treeRoot: VNode) { const toUpdateNodes = Array.from(treeRoot.toUpdateNodes!); + // 所有待更新元素的parent为null说明该node的父元素已经被卸载,应该从根节点发起更新 + if (toUpdateNodes.every(node => node.parent === null)) { + return treeRoot; + } if (toUpdateNodes.length === 0) { return treeRoot;