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