Match-id-8002edd63f044bbac50a823f0b125e8c0c59c72f
This commit is contained in:
commit
589e982cc4
|
@ -239,11 +239,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 {
|
||||||
|
@ -256,6 +252,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;
|
||||||
|
@ -323,7 +327,8 @@ function submitClear(vNode: VNode): void {
|
||||||
|
|
||||||
// 在所有子项都卸载后,删除dom树中的节点
|
// 在所有子项都卸载后,删除dom树中的节点
|
||||||
removeChildDom(currentParent, vNode.realNode);
|
removeChildDom(currentParent, vNode.realNode);
|
||||||
currentParent.append(cloneDom);
|
const realNodeNext = getSiblingDom(vNode);
|
||||||
|
insertDom(currentParent, cloneDom, realNodeNext);
|
||||||
vNode.realNode = cloneDom;
|
vNode.realNode = cloneDom;
|
||||||
attachRef(vNode);
|
attachRef(vNode);
|
||||||
FlagUtils.removeFlag(vNode, Clear);
|
FlagUtils.removeFlag(vNode, Clear);
|
||||||
|
|
Loading…
Reference in New Issue