啊鑫
2025-07-17 eaa506e57403d1b8502f16ca5dd6e82c347724d0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function flattenVNodes(vnodes) {
  var result = [];
 
  function traverse(vnodes) {
    vnodes.forEach(function (vnode) {
      result.push(vnode);
 
      if (vnode.componentInstance) {
        traverse(vnode.componentInstance.$children.map(function (item) {
          return item.$vnode;
        }));
      }
 
      if (vnode.children) {
        traverse(vnode.children);
      }
    });
  }
 
  traverse(vnodes);
  return result;
} // sort children instances by vnodes order
 
 
export function sortChildren(children, parent) {
  var componentOptions = parent.$vnode.componentOptions;
 
  if (!componentOptions || !componentOptions.children) {
    return;
  }
 
  var vnodes = flattenVNodes(componentOptions.children);
  children.sort(function (a, b) {
    return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);
  });
}