import {
FRAGMENT,
IS_MEMO_SAME,
+ KEEP_ALIVE,
OPEN_BLOCK,
RENDER_LIST,
} from '../runtimeHelpers'
)
}
}
- childBlock.isBlock = !isStableFragment
+ // track KeepAlive child as block
+ childBlock.isBlock =
+ childBlock.tag === KEEP_ALIVE || !isStableFragment
if (childBlock.isBlock) {
helper(OPEN_BLOCK)
helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent))
Fragment,
null,
renderList(1, () => {
- return createVNode(
- KeepAlive,
- null,
- [(openBlock(), createBlock(view.value))],
- 1024 /* DYNAMIC_SLOTS */,
+ return (
+ openBlock(),
+ createBlock(
+ KeepAlive,
+ { include: [] },
+ [(openBlock(), createBlock(view.value))],
+ 1024 /* DYNAMIC_SLOTS */,
+ )
)
}),
64 /* STABLE_FRAGMENT */,
}
if (shapeFlag & ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE) {
- ;(vnode.component!.parent!.ctx as KeepAliveContext).deactivate(vnode)
+ ;(parentComponent!.ctx as KeepAliveContext).deactivate(vnode)
return
}