diff --git a/src/utils/vnodes.ts b/src/utils/vnodes.ts index 27ca5f80a..516f40717 100644 --- a/src/utils/vnodes.ts +++ b/src/utils/vnodes.ts @@ -18,17 +18,16 @@ function flattenVNodes(vnodes: VNode[]) { } type VueInstance = { - _vnode: VNode; $vnode: VNode; }; // sort children instances by vnodes order export function sortChildren(children: VueInstance[], parent: VueInstance) { - // null on SSR - if (!parent._vnode) { + const { componentOptions } = parent.$vnode; + if (!componentOptions || !componentOptions.children) { return; } - const vnodes = flattenVNodes(parent._vnode.children!); + const vnodes = flattenVNodes(componentOptions.children); children.sort((a, b) => vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode)); }