我正在使用mat-menu和mat-expansion-panel,其中有一个扩展面板,我将mat-icon放在扩展面板的标题的末尾,点击此图标将打开一个菜单项。点击扩展面板的标题,打开面板说明。这是所需的行为,这是使用鼠标单击工作。
但是当我通过keydown.enter导航到图标(使用标签)时,这是不一样的,当我选中图标并按回车时,它正在折叠面板,不知何故我用event.stopPropagation()修复它并返回false。但是,按下图标上的Enter键不会打开菜单项。这是stackblitz链接menuwithExpansionPanel。请帮我解决这个问题。提前致谢。
您的按钮应该是触发器,而不是图标:
<span class="export-to-csv-span">
<button mat-button variant="icon-button"
[matMenuTriggerFor]="exportAsMenu"
(click)="$event.stopPropagation()"
(keydown.enter)="$event.stopPropagation()"
(keydown.space)="$event.stopPropagation()">
<mat-icon>vertical_align_bottom</mat-icon>
</button>
</span>