diff --git a/src/core/instance/lifecycle.ts b/src/core/instance/lifecycle.ts index 94f42e27eb5..3f52d545023 100644 --- a/src/core/instance/lifecycle.ts +++ b/src/core/instance/lifecycle.ts @@ -281,7 +281,8 @@ export function updateChildComponent( vm.$options._parentVnode = parentVnode vm.$vnode = parentVnode // update vm's placeholder node without re-render - if (vm._vnode) { + // avoid change reference of keep-alive's vnode on prev _vnode + if (vm._vnode && vm.$options._componentTag !== 'keep-alive') { // update child tree's parent vm._vnode.parent = parentVnode }