From 537fc97695717b3db452ed52b1d4f7b475b393be Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期六, 01 三月 2025 14:54:05 +0800
Subject: [PATCH] 优化前端树结构性能问题
---
src/utils/ruoyi.js | 37 ++++++++-----------------------------
1 files changed, 8 insertions(+), 29 deletions(-)
diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js
index 2714962..2bc6db0 100644
--- a/src/utils/ruoyi.js
+++ b/src/utils/ruoyi.js
@@ -1,5 +1,3 @@
-
-
/**
* 閫氱敤js鏂规硶灏佽澶勭悊
* Copyright (c) 2019 ruoyi
@@ -86,7 +84,7 @@
return actions.join('');
}
-// 鍥炴樉鏁版嵁瀛楀吀锛堝瓧绗︿覆鏁扮粍锛�
+// 鍥炴樉鏁版嵁瀛楀吀锛堝瓧绗︿覆銆佹暟缁勶級
export function selectDictLabels(datas, value, separator) {
if (value === undefined || value.length ===0) {
return "";
@@ -165,37 +163,19 @@
};
var childrenListMap = {};
- var nodeIds = {};
var tree = [];
-
for (let d of data) {
- let parentId = d[config.parentId];
- if (childrenListMap[parentId] == null) {
- childrenListMap[parentId] = [];
- }
- nodeIds[d[config.id]] = d;
- childrenListMap[parentId].push(d);
+ let id = d[config.id];
+ childrenListMap[id] = d;
}
for (let d of data) {
- let parentId = d[config.parentId];
- if (nodeIds[parentId] == null) {
+ let parentId = d[config.parentId]
+ let parentObj = childrenListMap[parentId]
+ if (!parentObj) {
tree.push(d);
- }
- }
-
- for (let t of tree) {
- adaptToChildrenList(t);
- }
-
- function adaptToChildrenList(o) {
- if (childrenListMap[o[config.id]] !== null) {
- o[config.childrenList] = childrenListMap[o[config.id]];
- }
- if (o[config.childrenList]) {
- for (let c of o[config.childrenList]) {
- adaptToChildrenList(c);
- }
+ } else {
+ parentObj[config.childrenList].push(d)
}
}
return tree;
@@ -226,7 +206,6 @@
}
return result
}
-
// 杩斿洖椤圭洰璺緞
export function getNormalPath(p) {
--
Gitblit v1.9.3