|
@@ -66,10 +66,6 @@ const props = defineProps({
|
|
|
type: Boolean,
|
|
|
default: false,
|
|
|
},
|
|
|
- autoExpandKey: {
|
|
|
- type: Array,
|
|
|
- default: () => ([]),
|
|
|
- },
|
|
|
})
|
|
|
|
|
|
//节点数据
|
|
@@ -82,7 +78,6 @@ const isRadio = ref(props.radio)
|
|
|
const isStrictly = ref(props.strictly)
|
|
|
const isCounts = ref(props.counts)
|
|
|
const currentNodeKey = ref(props.currentKey)
|
|
|
-const AutoExpandKeys = ref(props.autoExpandKey)
|
|
|
|
|
|
//事件
|
|
|
const emit = defineEmits(['load', 'nodeTap'])
|
|
@@ -97,13 +92,6 @@ onMounted(() => {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
-//监听
|
|
|
-watch(() => [
|
|
|
- props.autoExpandKey
|
|
|
-], ([keys]) => {
|
|
|
- AutoExpandKeys.value = keys
|
|
|
-}, {deep: true})
|
|
|
-
|
|
|
const treeLoadTap = (item) => {
|
|
|
getLazyLoad(item)
|
|
|
}
|
|
@@ -156,25 +144,6 @@ const setLazyLoad = (data, arr) => {
|
|
|
if (data.level === 0) {
|
|
|
nodeData.value = newNodeData
|
|
|
}
|
|
|
- //节点自动展开的处理
|
|
|
- const keys = getArrValue(AutoExpandKeys.value)
|
|
|
- if(keys.length > 0 && (keys.length - 1) === data.level) {
|
|
|
- const item = newNodeData.find(item => item.key === keys[data.level])
|
|
|
- if(!isNullES(item)) {
|
|
|
- nextTick(() => {
|
|
|
- instance.treeModule.treeNodeClick('tree-' + item.key)
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- //如果没有自动展开的,那么自动展开第一个节点
|
|
|
- if (keys.length <= 0 && data.level === 0) {
|
|
|
- const item = newNodeData.length > 0 ? newNodeData[0] : {}
|
|
|
- if(!isNullES(item)) {
|
|
|
- nextTick(() => {
|
|
|
- instance.treeModule.treeNodeClick('tree-' + item.key)
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -200,18 +169,7 @@ const ifCheckData = (data, item) => {
|
|
|
//树节点被点击
|
|
|
const treeNodeTap = async (item) => {
|
|
|
currentNodeKey.value = item.key
|
|
|
- let autoKeysArr = []
|
|
|
- await getNodeExpandKeys(item, autoKeysArr)
|
|
|
- const autoKeys = autoKeysArr.reverse()
|
|
|
- emit('nodeTap', item, autoKeys)
|
|
|
-}
|
|
|
-
|
|
|
-//处理自动展开的节点KEY
|
|
|
-const getNodeExpandKeys = async (item, newKeys) => {
|
|
|
- if (item.key && item.level > 0) {
|
|
|
- newKeys.push(item.key)
|
|
|
- await getNodeExpandKeys(item.parentNodes, newKeys)
|
|
|
- }
|
|
|
+ emit('nodeTap', item)
|
|
|
}
|
|
|
|
|
|
//获取选中的key
|
|
@@ -252,16 +210,6 @@ defineExpose({
|
|
|
})
|
|
|
</script>
|
|
|
|
|
|
-<script module="treeModule" lang="renderjs">
|
|
|
-export default {
|
|
|
- methods: {
|
|
|
- treeNodeClick(id) {
|
|
|
- document.getElementById(id).click();
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-
|
|
|
<style lang="scss">
|
|
|
@import "./style.scss";
|
|
|
</style>
|