Как условно добавить [matMenuTriggerFor] в mat-menu - PullRequest
0 голосов
/ 26 марта 2019

Мало # элемент меню не имеет дочернего элемента. Но показывает стрелку, которая указывает, что есть подменю. Что не так. Как добавить [matMenuTriggerFor] = "subMenu", только если в subMenu есть элементы.

<mat-menu #menu="matMenu">
    <ng-container *ngFor="let item of menuItem.items; let i=index"> 
        <button class="mat-menu-item" mat-menu-item
            [routerLink]="item.routerLink" routerLinkActive="active" [matMenuTriggerFor]="subMenu"> {{item.name}}
        </button>
        <mat-menu #subMenu="matMenu"> <button class="mat-sub-menu-item"
                *ngFor="let subitem of menuItem.items[i].subitems" mat-menu-item> {{ subitem.name }} </button>
        </mat-menu>
    </ng-container>
</mat-menu>

1 Ответ

0 голосов
/ 11 апреля 2019

Решил эту проблему, добавив * ngIf = "menuItem.items [i] .subitems" к кнопке

<button class="mat-menu-item" [class.more-menu-item]="menuItem.name=='More'"  mat-menu-item  [routerLink]="item.routerLink"
        routerLinkActive="active" [matMenuTriggerFor]="subMenu"><span class="pm-menu-item">{{item.name}}</span><i class="material-icons pm-menu-icon-right" *ngIf="menuItem.items[i].subitems">keyboard_arrow_right</i>
 </button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...