Match-id-0c37ff516aeaae15ec0f4882fd289389ace4455b
This commit is contained in:
parent
08295b4fb4
commit
832a5b51c2
|
@ -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) {
|
export function bubbleRender(processing: VNode) {
|
||||||
resetNamespaceCtx(processing);
|
resetNamespaceCtx(processing);
|
||||||
|
|
||||||
|
@ -95,7 +77,19 @@ export function bubbleRender(processing: VNode) {
|
||||||
processing,
|
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;
|
processing.realNode = dom;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue