ZaiZai пре 1 година
родитељ
комит
3ac7332a1f
2 измењених фајлова са 17 додато и 11 уклоњено
  1. 12 10
      components/hc-tree/hc-tree.vue
  2. 5 1
      components/hc-tree/tree-node.vue

+ 12 - 10
components/hc-tree/hc-tree.vue

@@ -1,7 +1,8 @@
 <template>
     <view class="hc-tree-box">
         <template v-if="nodeData.length > 0" v-for="item in nodeData" :key="item.key">
-            <hc-tree-node :item="item"
+            <hc-tree-node ref="treeNodeRef"
+                          :item="item"
                           :check="isCheck"
                           :strictly="isStrictly"
                           :radio="isRadio"
@@ -19,7 +20,7 @@
 
 <script setup>
 import {onMounted, ref, watch} from 'vue'
-import {getArrValue} from "js-fast-way";
+import {getArrValue, isNullES} from "js-fast-way";
 
 //参数
 const props = defineProps({
@@ -71,6 +72,7 @@ const props = defineProps({
 })
 
 //节点数据
+const treeNodeRef = ref(null)
 const nodeData = ref([]);
 
 //参数配置
@@ -154,15 +156,15 @@ const setLazyLoad = (data, arr) => {
             nodeData.value = newNodeData
         }
         //处理自动展开
-        //const keys = getArrValue(AutoExpandKeys.value)
-        /*if (keys.length === nodeItem.level) {
-            if (keys[nodeItem.level-1] === nodeItem.key) {
-                nodeItem.isExpand = true
-                emit('load', nodeItem, (loadData) => {
-                    setLazyLoad(nodeItem, loadData)
-                })
+        const keys = getArrValue(AutoExpandKeys.value)
+        if ((keys.length - 1) === data.level) {
+            const nodeItem = newNodeData.find(item => item.key === keys[data.level])
+            if (!isNullES(nodeItem)) {
+                setTimeout(() => {
+                    treeNodeRef.value.setNodeTap(nodeItem)
+                }, 1000)
             }
-        }*/
+        }
     }
 }
 

+ 5 - 1
components/hc-tree/tree-node.vue

@@ -181,8 +181,12 @@ const setParentCheck = (nodes) => {
     }
 }
 
+const setNodeTap = (item) => {
+    console.log('setNodeTap', item)
+}
+
 //导出方法函数
 defineExpose({
-    nodeTap,
+    setNodeTap: setNodeTap,
 })
 </script>