如何以编程方式关闭Angular Material嵌套菜单?

时间:2018-06-06 21:35:52

标签: angular angular-material

我有一个动态构建的嵌套材质菜单。如果用户点击有孩子的项目,我希望关闭菜单。现在,它只在您单击叶节点项时关闭。我尝试在matMenuTrigger上使用closeMenu()方法,但它似乎只关闭顶级菜单。这是有道理的,因为它是它的触发器,但如果它也通过子菜单级联,它会很好。有什么想法吗?

如果我点击“互连”

enter image description here

我得到了一大块菜单......

enter image description here

使用此代码

<button #rootMenuTrigger="matMenuTrigger" class="button-dropdown" type="button" [matMenuTriggerFor]="rootMenu">
              <a class="link-reset" i18n>All Products</a>
            </button>
            <mat-menu #rootMenu="matMenu" [overlapTrigger]="false">
              <button mat-menu-item>
                <a class="link-reset" [routerLink]="['products']" i18n>View All Products</a>
              </button>
              <ng-container *ngFor="let cat of categories">
                <button mat-menu-item [matMenuTriggerFor]="subMenu">
                  <a class="link-reset" [routerLink]="[(cat.id | categoryLink | async), '']" (click)="rootMenuTrigger.closeMenu()">{{cat.name}}</a>....

0 个答案:

没有答案