Ben Lin
2024-10-21 e7375ff25af5510af59a20f21449b3531999922e
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>