Закрыть Mat-меню, когда пользователь прокручивает окно - PullRequest
1 голос
/ 28 сентября 2019

Проблема: не должно быть видно mat-menu Когда прокрутка окна в верхней части навигационного меню,

Причина: она поднимается из-за высокого значения z-index в .cdk-overlay-container

, которое я тянулследующий

file.ts

@ViewChild(MatMenuTrigger) trigger: MatMenuTrigger; 
@HostListener('window:scroll', [])
scrollHandler() {
if (this.trigger) {
this.trigger.closeMenu();
 }
 }

Но это работает только для первого мат-меню из 6, остальные не закрываются при прокрутке !!!!!

Угловая версия Cli

1 Ответ

0 голосов
/ 28 сентября 2019
 @ViewChildren(MatMenuTrigger) trigger: QueryList<MatMenuTrigger>;
 @HostListener('window:scroll', [])
 scrollHandler() {
     for (let index = 0; index < this.trigger.toArray().length; index++) {
   this.trigger.toArray()[index].closeMenu();
 }

при этом будут доступны все мат-меню внутри компонента, и цикл будет перебирать каждый индекс и закрывать открытое меню.

...