From e7375ff25af5510af59a20f21449b3531999922e Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 21 十月 2024 23:28:07 +0800 Subject: [PATCH] 页面缓存优化 --- src/views/components/GeneralTree.vue | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 52 insertions(+), 3 deletions(-) diff --git a/src/views/components/GeneralTree.vue b/src/views/components/GeneralTree.vue index 0d8e9c1..9a0827d 100644 --- a/src/views/components/GeneralTree.vue +++ b/src/views/components/GeneralTree.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 11:07:21 * @LastEditors: Ben Lin - * @LastEditTime: 2024-10-05 14:28:09 + * @LastEditTime: 2024-10-21 22:09:53 --> <template> <div class="m-4 mr-0 overflow-hidden bg-white"> @@ -23,12 +23,19 @@ @unselect="UnSelect" :beforeRightClick="props.beforeRightClick" :defaultExpandAll="true" + ref="tigerTree" /> </div> </template> <script lang="ts" setup> - import { onMounted, ref } from 'vue'; - import { ContextMenuItem, ContextMenuOptions, FieldNames, TigerTree, TreeItem } from '/@/components/TigerTree'; + import { onMounted, ref, watch } from 'vue'; + import { + ContextMenuItem, + ContextMenuOptions, + FieldNames, + TigerTree, + TreeItem, + } from '/@/components/TigerTree'; import { EventDataNode } from 'ant-design-vue/lib/tree'; defineOptions({ name: 'CustTree' }); @@ -52,6 +59,7 @@ default: undefined, }, }); + const tigerTree = ref(null); function handleSelect(keys, e) { emit('select', keys[0], e); @@ -65,5 +73,46 @@ emit('UnSelect', node); } + function expandAll(expandAll: boolean) { + if (tigerTree.value) { + tigerTree.value.expandAll(expandAll); + } + } + + function getExpandedKeys() { + if (tigerTree.value) { + return tigerTree.value.getExpandedKeys(); + } + return []; + } + + function setSelectedKeys(keys: KeyType[]) { + if (tigerTree.value) { + tigerTree.value.setSelectedKeys(keys); + } + } + + function getSelectedKeys() { + if (tigerTree.value) { + return tigerTree.value.getSelectedKeys(); + } + return []; + } + + function getNodeById(Id: string) { + if (tigerTree.value) { + return tigerTree.value.getNodeById(Id); + } + return {}; + } + + defineExpose({ + getExpandedKeys, + expandAll, + setSelectedKeys, + getSelectedKeys, + getNodeById + }); + onMounted(() => {}); </script> -- Gitblit v1.9.3