Skip to content

Commit 9606ae3

Browse files
committed
fix(components): check subTree null, related to #1760
1 parent c888003 commit 9606ae3

File tree

1 file changed

+15
-13
lines changed
  • packages/app-backend-vue3/src/components

1 file changed

+15
-13
lines changed

packages/app-backend-vue3/src/components/tree.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,21 @@ export class ComponentWalker {
8383
*/
8484
private getInternalInstanceChildren (subTree, suspense = null) {
8585
const list = []
86-
if (subTree.component) {
87-
!suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense })
88-
} else if (subTree.suspense) {
89-
const suspenseKey = !subTree.suspense.isInFallback ? 'suspense default' : 'suspense fallback'
90-
list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey }))
91-
} else if (Array.isArray(subTree.children)) {
92-
subTree.children.forEach(childSubTree => {
93-
if (childSubTree.component) {
94-
!suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense })
95-
} else {
96-
list.push(...this.getInternalInstanceChildren(childSubTree, suspense))
97-
}
98-
})
86+
if (subTree) {
87+
if (subTree.component) {
88+
!suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense })
89+
} else if (subTree.suspense) {
90+
const suspenseKey = !subTree.suspense.isInFallback ? 'suspense default' : 'suspense fallback'
91+
list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey }))
92+
} else if (Array.isArray(subTree.children)) {
93+
subTree.children.forEach(childSubTree => {
94+
if (childSubTree.component) {
95+
!suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense })
96+
} else {
97+
list.push(...this.getInternalInstanceChildren(childSubTree, suspense))
98+
}
99+
})
100+
}
99101
}
100102
return list.filter(child => !isBeingDestroyed(child) && !child.type.devtools?.hide)
101103
}

0 commit comments

Comments
 (0)