Используя это, он одновременно открывает и закрывает все типы выпадающего меню.
<mat-expansion-panel #panel (click)="colapse()"
[expanded]="expansionPanelClosed"
*ngIf="menuItem.type==='dropDown'" class="nav-expansion-panel">
<mat-expansion-panel-header style="font-size: 16px;">
<mat-panel-title>
<mat-icon>{{menuItem.iconType}}</mat-icon>
{{ menuItem.title | translate }}
</mat-panel-title>
</mat-expansion-panel-header>
<mat-list dense class="mat-expansion-panel-body">
<mat-nav-list *ngFor="let subMenu of menuItem.children">
<app-menu-list-item [subMenu]="subMenu"></app-menu-list-item>
</mat-nav-list>
</mat-list>
</mat-expansion-panel>
семпл https://stackblitz.com/edit/dynamic-nested-sidenav-menu?file=app%2Fmenu-list-item%2Fmenu-list-item.component.html