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