我在Angular Material的工具栏中实现嵌套菜单时遇到了一些问题:
这是我的实施:
<md-toolbar color="primary">
<button md-button routerLink="/">
<md-icon> home </md-icon>
<span> Home </span>
</button>
<div fxLayout="row" fxShow="false" fxShow.gt-sm>
<button md-button [mdMenuTriggerFor]="administration">
<span> Manage </span>
</button>
<button md-button routerLink="/help">
<md-icon> help_outline </md-icon>
<span> Help </span>
</button>
</div>
<button md-button [mdMenuTriggerFor]="menu" fxHide="false" fxHide.gt-sm>
<md-icon> more_vert </md-icon>
</button>
</md-toolbar>
<md-menu #administration="mdMenu">
<button md-menu-item routerLink="/products">
<span> Products </span>
</button>
<button md-menu-item routerLink="/staff">
<span> Staff </span>
</button>
</md-menu>
<md-menu xPosition="before" #menu="mdMenu">
<button md-menu-item [mdMenuTriggerFor]="administration">
<span> Manage </span>
</button>
<button md-menu-item routerLink="/help">
<span> Help </span>
</button>
</md-menu>
我正在寻找的行为在AngularJS Material的the MenuBar component中是原生的,并且由于Angular Material仍处于测试版本,我想知道我的代码中是否存在某些问题,或者我是否只需要在下一版本的框架中等待该组件的改进。
答案 0 :(得分:1)
嗯,我不确定你使用了什么,但我使用了https://teradata.github.io/covalent/#/components/expansion-panel,我提出了以下解决方案:
<md-nav-list td-sidenav-content>
<td-expansion-panel md-list-item>
<ng-template td-expansion-panel-header>
<a md-list-item>
<md-icon md-list-avatar>settings</md-icon>
<h3 md-line> Nested menu </h3>
</a>
<md-divider></md-divider>
</ng-template>
<md-list class="bgc-blue-grey-50">
<h3 md-subheader>Metadata</h3>
<a md-list-item style="padding-left:20px;">
<md-icon md-list-avatar>settings</md-icon>
<h3 md-line> Nested Item </h3>
</a>
</md-list>
</td-expansion-panel>
<!-- Settings -->
<a md-list-item>
<md-icon md-list-avatar>settings</md-icon>
<h3 md-line> Settings </h3>
</a>
</md-nav-list>
编辑: 在角材料处于可用状态之前,答案是张贴的。最新的角度材料库带有一个结构非常漂亮的树组件。我建议现在使用它。