当前位置: 首页> 教育> 培训 > 杭州代办营业执照一般要多少钱_今天合肥刚刚发生的重大新闻_网站推广软件ky99_南宁seo内部优化

杭州代办营业执照一般要多少钱_今天合肥刚刚发生的重大新闻_网站推广软件ky99_南宁seo内部优化

时间:2025/7/11 4:08:30来源:https://blog.csdn.net/weixin_72254790/article/details/144031710 浏览次数:0次
杭州代办营业执照一般要多少钱_今天合肥刚刚发生的重大新闻_网站推广软件ky99_南宁seo内部优化

菜单级别不确定,想要自适应,且可以折叠的菜单。

数据是一个数组。

<template><div class="Level"  ref="Level"></div>
</template>import {ref} from 'vue'
export default{data(){Level:ref(null),menuData: [{parentid: 0,name: "医院",contents: [{parentid: 1,name: "外科",contents: [],level: 2,para: {"para1": "值1","para2": "值2"}}],]}
}

为什么想用DFS呢?因为数组内对象嵌套的数组,又不知道后端确切最高返回几层,只能按照深度读取,并且为每个节点逐深度的创建DOM,为每个节点(不包括只有父节点)添加点击展开和隐藏事件,使用dispaly属性完成。

实现DFS

	  /*** 递归分级菜单* @param {node} object 追加的dom节点* @param {parentElement} Dom :被追加的dom* @return {void}*/DFSLevel(node, parentElement) {if (!node) return;// 为当前节点创建一个div元素var text = document.createElement("div");text.innerHTML = node.name;// 存在子集if (node.contents && Array.isArray(node.contents) && node.contents.length > 0) {// 添加点击事件,实现隐藏和显示子元素的功能text.addEventListener('click', () => {// 获取子元素的divvar childrenDivs = text.querySelectorAll('div');// 显隐切换childrenDivs.forEach(div => {if(div.style.display=='block') div.style.display ='none';else div.style.display = 'block'});});node.contents.forEach(subNode => {this.DFSLevel(subNode, text); // 递归});}parentElement.appendChild(text);},initMenu() {// 从根节点开始递归this.menuData.forEach(rootNode => {this.DFSLevel(rootNode, this.$refs.Level);});}

虽然Vue 可以通过v-for 和v-if 层层判断,但是我真的受够了

关键字:杭州代办营业执照一般要多少钱_今天合肥刚刚发生的重大新闻_网站推广软件ky99_南宁seo内部优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: