我已经阅读了How to prevent angular material mat-menu from closing?,它解释了如何防止Angular材质mat-menu关闭点击 .
但是: I cannot seem to find a way to prevent a mat-menu from closing when I press tabulator to change focus .
以此StackBlitz为例:https://stackblitz.com/edit/angular-ij6jbx:它正确地阻止 mat-menu
关闭 when 输入字段接收焦点 via mouse click . 另一方面:如果我按"tabulator"更改焦点并且 username
-input-field接收焦点,则菜单关闭 .
我想知道如何防止这种行为 - 如果可能的话 . 我尝试将 $event.stopPropagation();
附加到 (input)
,但它似乎没有做任何事情 .
显然,Angular开发人员已经根据https://github.com/angular/material2/issues/2612给出了一些想法 . 遗憾的是,在问题/功能请求结束时似乎没有适当的解决方案,也没有关于状态的提示 .
P.s . :我知道,目前的代码不漂亮也不聪明 . 一旦它同时适用于点击和按键,我就会将其重构为自己的指令 .
1 回答
我会 grab
keydown
事件如下:Forked Stackblitz
另外我会将
tabindex="-1"
添加到所有清除按钮