Match-id-3af6008f5308a6c047b9f9a878e9990b606326bd
This commit is contained in:
parent
aa1944e8d4
commit
75289ee085
|
@ -252,11 +252,7 @@ function insertOrAppendPlacementNode(
|
|||
const { tag, realNode } = node;
|
||||
|
||||
if (isDomVNode(node)) {
|
||||
if (beforeDom) {
|
||||
insertDomBefore(parent, realNode, beforeDom);
|
||||
} else {
|
||||
appendChildElement(parent, realNode);
|
||||
}
|
||||
insertDom(parent, realNode, beforeDom);
|
||||
} else if (tag === DomPortal) {
|
||||
// 这里不做处理,直接在portal中处理
|
||||
} else {
|
||||
|
@ -269,6 +265,14 @@ function insertOrAppendPlacementNode(
|
|||
}
|
||||
}
|
||||
|
||||
function insertDom(parent, realNode, beforeDom) {
|
||||
if (beforeDom) {
|
||||
insertDomBefore(parent, realNode, beforeDom);
|
||||
} else {
|
||||
appendChildElement(parent, realNode);
|
||||
}
|
||||
}
|
||||
|
||||
// 遍历所有子节点:删除dom节点,detach ref 和 调用componentWillUnmount()
|
||||
function unmountDomComponents(vNode: VNode): void {
|
||||
let currentParentIsValid = false;
|
||||
|
@ -337,11 +341,7 @@ function submitClear(vNode: VNode): void {
|
|||
// 在所有子项都卸载后,删除dom树中的节点
|
||||
removeChildDom(currentParent, vNode.realNode);
|
||||
const realNodeNext = getSiblingDom(vNode);
|
||||
if (realNodeNext) {
|
||||
insertDomBefore(currentParent, cloneDom, realNodeNext);
|
||||
} else {
|
||||
appendChildElement(currentParent, cloneDom);
|
||||
}
|
||||
insertDom(currentParent, cloneDom, realNodeNext);
|
||||
vNode.realNode = cloneDom;
|
||||
attachRef(vNode);
|
||||
FlagUtils.removeFlag(vNode, Clear);
|
||||
|
|
Loading…
Reference in New Issue