<script>
function buildMenuTemplate(h, menus) {
return menus.map((menu) => {
let html = null;
if (menu.children && menu.children.length > 0) {
let childrenEl = buildMenuTemplate(h, menu.children)
html = (
<el-submenu index={String(menu.id)} key={menu.id}>
<template slot="title">
<i class={menu.iconCls}></i>
<span slot="title">{menu.text}</span>
</template>
{childrenEl}
</el-submenu>
);
} else {
html = (
<el-menu-item index={menu.id} key={menu.id}>
<i class={menu.iconCls}></i>
<span slot="title">{menu.text}</span>
</el-menu-item>
);
}
return html;
});
}
export default {
name: "TreeMenu",
props: ["menus"],
methods: {
onMenuItemSelect(menuIndex) {
this.$emit('select', menuIndex)
}
},
render(createElement) {
let el = buildMenuTemplate(createElement, this.menus)
return (
<el-menu on-select={this.onMenuItemSelect}>
{el}
</el-menu>
);
}
}
</script>
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有