下面是一个示例的解决方案,它演示了如何在Angular中创建嵌套下拉菜单。
在HTML模板中,你可以使用ngFor
指令来循环遍历一个嵌套的菜单数组,并根据菜单项的子菜单数组递归地创建下拉菜单。
{{menuItem.label}}
{{menuItem.label}}
在组件类中,你需要定义一个菜单项数组,并在toggleSubMenu
方法中切换子菜单的显示状态。
// 组件类
import { Component } from '@angular/core';
@Component({
selector: 'app-menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.css']
})
export class MenuComponent {
menuItems = [
{
label: '菜单项1',
subMenu: [
{ label: '子菜单项1' },
{ label: '子菜单项2' },
{ label: '子菜单项3' }
],
showSubMenu: false
},
{
label: '菜单项2',
subMenu: [
{ label: '子菜单项4' },
{ label: '子菜单项5' }
],
showSubMenu: false
}
];
toggleSubMenu(event: Event, menuItem): void {
event.preventDefault();
menuItem.showSubMenu = !menuItem.showSubMenu;
}
}
以上代码将创建一个包含嵌套下拉菜单的Angular组件。当点击菜单项时,相应的子菜单项将会显示或隐藏。
注意:上述代码仅提供了一个基本的示例解决方案,你可以根据自己的需求进行修改和扩展。