eval.js 755 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. import Vue from 'vue';
  3. export default function treeToArray(data, expandAll, parent = null, level = null) {
  4. let tmp = [];
  5. Array.from(data).forEach(function(record) {
  6. if (record._expanded === undefined) {
  7. Vue.set(record, '_expanded', expandAll);
  8. }
  9. let _level = 1;
  10. if (level !== undefined && level !== null) {
  11. _level = level + 1;
  12. }
  13. Vue.set(record, '_level', _level);
  14. // 如果有父元素
  15. if (parent) {
  16. Vue.set(record, 'parent', parent);
  17. }
  18. tmp.push(record);
  19. if (record.children && record.children.length > 0) {
  20. const children = treeToArray(record.children, expandAll, record, _level);
  21. tmp = tmp.concat(children);
  22. }
  23. });
  24. return tmp;
  25. }