From 832a5b51c2630ac742b493e5d17ac181466f2b0e Mon Sep 17 00:00:00 2001 From: * <8> Date: Thu, 17 Feb 2022 14:46:23 +0800 Subject: [PATCH] Match-id-0c37ff516aeaae15ec0f4882fd289389ace4455b --- .../src/renderer/render/DomComponent.ts | 32 ++++++++----------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/libs/horizon/src/renderer/render/DomComponent.ts b/libs/horizon/src/renderer/render/DomComponent.ts index bac845b1..fff571a6 100644 --- a/libs/horizon/src/renderer/render/DomComponent.ts +++ b/libs/horizon/src/renderer/render/DomComponent.ts @@ -50,24 +50,6 @@ function updateDom( } } -// 把dom类型的子节点append到parent dom中 -function appendAllChildren(parent: Element, processing: VNode) { - const vNode = processing.child; - if (vNode === null) { - return; - } - - // 向下递归它的子节点,查找所有终端节点。 - travelVNodeTree(vNode, node => { - if (node.tag === DomComponent || node.tag === DomText) { - appendChildElement(parent, node.realNode); - } - }, node => - // 已经append到父节点,或者是DomPortal都不需要处理child了 - node.tag === DomComponent || node.tag === DomText || node.tag === DomPortal - , processing); -} - export function bubbleRender(processing: VNode) { resetNamespaceCtx(processing); @@ -95,7 +77,19 @@ export function bubbleRender(processing: VNode) { processing, ); - appendAllChildren(dom, processing); + // 把dom类型的子节点append到parent dom中 + const vNode = processing.child; + if (vNode !== null) { + // 向下递归它的子节点,查找所有终端节点。 + travelVNodeTree(vNode, node => { + if (node.tag === DomComponent || node.tag === DomText) { + appendChildElement(dom, node.realNode); + } + }, node => + // 已经append到父节点,或者是DomPortal都不需要处理child了 + node.tag === DomComponent || node.tag === DomText || node.tag === DomPortal + , processing); + } processing.realNode = dom;