feat(@vben/web-antd): 区域树默认展开园区和楼栋节点

This commit is contained in:
lzh
2026-03-31 22:55:55 +08:00
parent f5f488080c
commit af034080ba

View File

@@ -117,6 +117,10 @@ async function loadTree() {
);
areaList.value = data;
areaTree.value = handleTree(data, 'id', 'parentId', 'children');
// 默认展开到楼层:展开 PARK 和 BUILDING 节点
expandedKeys.value = data
.filter((a) => a.areaType === 'PARK' || a.areaType === 'BUILDING')
.map((a) => a.id!);
} catch (error) {
console.error('获取区域树失败', error);
} finally {
@@ -159,6 +163,9 @@ function getDescendantIds(id: number): number[] {
return result;
}
/** 展开的节点 key 列表 */
const expandedKeys = ref<number[]>([]);
/** 暴露刷新方法和路径查询供父组件调用 */
defineExpose({ refresh: loadTree, getAreaPath, getDescendantIds, getAreaName });
@@ -183,7 +190,7 @@ onMounted(loadTree);
v-if="areaTree.length > 0"
class="pt-2"
:tree-data="areaTree"
:default-expand-all="true"
v-model:expanded-keys="expandedKeys"
:checkable="checkable"
:checked-keys="checkable ? internalCheckedKeys : undefined"
:selected-keys="selectedKeys"