角度鼠标悬停并且不起作用MAT-MENU

时间:2018-09-25 21:30:18

标签: html angular angular-material

我有一个mat-sidenav以及一个mat-item和mat-menu列表。然后,当我将鼠标悬停在其中一项上时,我希望菜单显示出来。这部分正在工作。但是,当我移出该菜单或项目并移至新项目上方时,我希望其菜单显示。

https://stackblitz.com/edit/angular-xsscrm

我包括了一个关于行为演示的堆栈闪电战。

这里出了什么问题,我同时进入和退出,但是当我将菜单留在一个新菜单上时,除非单击该菜单,否则它不会打开。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这里的问题是,打开菜单时,它会创建一个覆盖背景并与所有元素重叠的覆盖层。这种背景导致侦听元素无法“看到”鼠标事件,直到通过鼠标单击消除叠加层为止。幸运的是,菜单控件具有删除背景的标志;将此设置为false可解决您遇到的问题。

旁注:*ngFor元素上有一个<mat-list>,但我想将其移至<mat-list-item>元素上,因为您需要很多列表项,而不是很多列表。由于您在*ngFor之外使用<mat-list-item>的局部变量,因此可以创建一个<ng-container>元素来容纳您的*ngFor。参见下面的stackblitz:

https://stackblitz.com/edit/angular-xsscrm-kx6jyd

另一个注意事项:此行为类似于工具提示。也许这样可以更好地控制您的用例? https://material.angular.io/components/tooltip/overview