fix(runtime-core): use correct parentNode when patching dynamicChildren (close #98)
This commit is contained in:
parent
58772c62f6
commit
46d875f4e8
@ -114,7 +114,7 @@ export interface RendererOptions<HostNode = any, HostElement = any> {
|
||||
createComment(text: string): HostNode
|
||||
setText(node: HostNode, text: string): void
|
||||
setElementText(node: HostElement, text: string): void
|
||||
parentNode(node: HostNode): HostNode | null
|
||||
parentNode(node: HostNode): HostElement | null
|
||||
nextSibling(node: HostNode): HostNode | null
|
||||
querySelector(selector: string): HostElement | null
|
||||
}
|
||||
@ -499,10 +499,11 @@ export function createRenderer<
|
||||
// children fast path
|
||||
const oldDynamicChildren = n1.dynamicChildren!
|
||||
for (let i = 0; i < dynamicChildren.length; i++) {
|
||||
const oldVNode = oldDynamicChildren[i]
|
||||
patch(
|
||||
oldDynamicChildren[i],
|
||||
oldVNode,
|
||||
dynamicChildren[i],
|
||||
el,
|
||||
hostParentNode(oldVNode.el!)!,
|
||||
null,
|
||||
parentComponent,
|
||||
parentSuspense,
|
||||
|
@ -4,7 +4,11 @@ const svgNS = 'http://www.w3.org/2000/svg'
|
||||
export const nodeOps = {
|
||||
insert: (child: Node, parent: Node, anchor?: Node) => {
|
||||
if (anchor != null) {
|
||||
parent.insertBefore(child, anchor)
|
||||
try {
|
||||
parent.insertBefore(child, anchor)
|
||||
} catch (e) {
|
||||
debugger
|
||||
}
|
||||
} else {
|
||||
parent.appendChild(child)
|
||||
}
|
||||
@ -32,7 +36,8 @@ export const nodeOps = {
|
||||
el.textContent = text
|
||||
},
|
||||
|
||||
parentNode: (node: Node): Node | null => node.parentNode,
|
||||
parentNode: (node: Node): HTMLElement | null =>
|
||||
node.parentNode as HTMLElement,
|
||||
|
||||
nextSibling: (node: Node): Node | null => node.nextSibling,
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user