From 7a279d100f1ab121f1f03794da6c6ebdb735f5eb Mon Sep 17 00:00:00 2001
From: "841322557@qq.com" <841322557@qq.com>
Date: Thu, 13 Jun 2024 09:40:18 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=EF=BC=88BasicTree=EF=BC=89=E6=A0=91?=
=?UTF-8?q?=E5=BD=A2=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=8C=87?=
=?UTF-8?q?=E5=AE=9A=E5=B1=82=E7=BA=A7=E7=9A=84=E6=90=9C=E7=B4=A2=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Tree/src/Tree.vue | 215 ++++++++++++++++---------------
src/components/Tree/src/props.ts | 2 +
src/utils/helper/treeHelper.ts | 12 +-
3 files changed, 120 insertions(+), 109 deletions(-)
diff --git a/src/components/Tree/src/Tree.vue b/src/components/Tree/src/Tree.vue
index d66f426..974948f 100644
--- a/src/components/Tree/src/Tree.vue
+++ b/src/components/Tree/src/Tree.vue
@@ -363,6 +363,7 @@
return result;
},
unref(getFieldNames),
+ props.onlySearchLevel,
);
if (expandOnSearch) {
@@ -621,151 +622,151 @@
});
diff --git a/src/components/Tree/src/props.ts b/src/components/Tree/src/props.ts
index 4d06848..9c2108b 100644
--- a/src/components/Tree/src/props.ts
+++ b/src/components/Tree/src/props.ts
@@ -101,6 +101,8 @@ export const basicProps: any = {
checkOnSearch: propTypes.bool.def(false),
// 搜索完成自动select所有结果
selectedOnSearch: propTypes.bool.def(false),
+ // 只搜索树表指定的层级,获得该层级下所有结果
+ onlySearchLevel: propTypes.number,
};
export const treeNodeProps = {
diff --git a/src/utils/helper/treeHelper.ts b/src/utils/helper/treeHelper.ts
index af93fbb..a5e13eb 100644
--- a/src/utils/helper/treeHelper.ts
+++ b/src/utils/helper/treeHelper.ts
@@ -137,18 +137,26 @@ export function filter(
tree: T[],
func: (n: T) => boolean,
config: Partial = {},
+ onlySearchLevel?: number,
): T[] {
config = getConfig(config);
const children = config.children as string;
- function listFilter(list: T[]) {
+ function listFilter(list: T[], level?: number) {
return list
.map((node: any) => ({ ...node }))
.filter((node) => {
+ if (level === 1) {
+ return func(node);
+ }
+ if (onlySearchLevel && level) {
+ node[children] = node[children] && listFilter(node[children], level - 1);
+ return node[children] && node[children].length;
+ }
node[children] = node[children] && listFilter(node[children]);
return func(node) || (node[children] && node[children].length);
});
}
- return listFilter(tree);
+ return listFilter(tree, onlySearchLevel);
}
export function forEach(
--
Gitee
From 9349370cfb95356633310b2a7e9b28a92eae09ba Mon Sep 17 00:00:00 2001
From: "841322557@qq.com" <841322557@qq.com>
Date: Thu, 13 Jun 2024 15:10:38 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Tree/src/Tree.vue | 214 +++++++++++++++----------------
1 file changed, 107 insertions(+), 107 deletions(-)
diff --git a/src/components/Tree/src/Tree.vue b/src/components/Tree/src/Tree.vue
index 974948f..345ad43 100644
--- a/src/components/Tree/src/Tree.vue
+++ b/src/components/Tree/src/Tree.vue
@@ -622,151 +622,151 @@
});
--
Gitee