Когда CDD материала открывает меню, оно создает cdk-overlay-container
с фоновой областью, которая заполняет все окно браузера.
body
your app elements
div.cdk-overlay-container - z-index = 1000
div.cdk-overlay-backdrop
После запускаmouseenter
событие, которое на заднем плане перекрывает ваши кнопки, и они сразу же получают событие mouseleave
.
Вот почему настройка z-index на кнопки больше 1000 делает его работающим.
Но, как вы можете догадатьсявы можете просто выбросить это backdrop
:
sub-menu.component.html
<mat-menu ... [hasBackdrop]="false">
, и вам не нужны никакие обходные пути с z-индекс.
Разветвленный стек-блиц