From 177ef4d736ee784a580e60e164e6ebed9f8538b2 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 20 Apr 2020 19:33:28 +0800 Subject: [PATCH] fix: sort vnode not work (#6100) --- src/utils/vnodes.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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)); }