From bfb2287b2ec70e477c09f898ffd4b2930e274a9a Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Wed, 28 Jan 2026 18:47:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E9=97=A8=E6=A0=91=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=90=8E=E5=AD=90=E8=8A=82=E7=82=B9=E4=B8=A2=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 搜索部门树时,由于直接修改了原始树数据导致子节点被清空。通过深拷贝部门树数据并显式清空搜索结果的子节点,确保原始树结构不受影响。 --- apps/web-antd/src/views/system/user/dept-tree.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/web-antd/src/views/system/user/dept-tree.vue b/apps/web-antd/src/views/system/user/dept-tree.vue index 67adb3be..855c37b9 100644 --- a/apps/web-antd/src/views/system/user/dept-tree.vue +++ b/apps/web-antd/src/views/system/user/dept-tree.vue @@ -5,7 +5,7 @@ import type { DeptTree } from '#/api/system/user/model'; import { computed, onMounted, ref } from 'vue'; -import { listToTree, treeToList } from '@vben/utils'; +import { cloneDeep, listToTree, treeToList } from '@vben/utils'; import { SyncOutlined } from '@antdv-next/icons'; import { Empty, Input, Skeleton, SpaceCompact, Tree } from 'antdv-next'; @@ -72,10 +72,11 @@ const deptTreeComputed = computed(() => { if (!searchValue.value) { return deptTreeArray.value; } - const toTree = treeToList(deptTreeArray.value, { + const toTree: DeptTreeArray = treeToList(cloneDeep(deptTreeArray.value), { id: 'id', pid: 'parentId', }); + toTree.forEach((i) => (i.children = [])); const filteredTree = toTree.filter((item: DeptTree) => item.label.toUpperCase().includes(searchValue.value.toUpperCase()), );