当在角度6中的垫扩展面板标题内使用时,菜单未在keydown.enter上打开

问题描述 投票:0回答:1

我正在使用mat-menu和mat-expansion-panel,其中有一个扩展面板,我将mat-icon放在扩展面板的标题的末尾,点击此图标将打开一个菜单项。点击扩展面板的标题,打开面板说明。这是所需的行为,这是使用鼠标单击工作。

但是当我通过keydown.enter导航到图标(使用标签)时,这是不一样的,当我选中图标并按回车时,它正在折叠面板,不知何故我用event.stopPropagation()修复它并返回false。但是,按下图标上的Enter键不会打开菜单项。这是stackblitz链接menuwithExpansionPanel。请帮我解决这个问题。提前致谢。

typescript angular6 angular-material-6 event-propagation
1个回答
0
投票

您的按钮应该是触发器,而不是图标:

<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>
© www.soinside.com 2019 - 2024. All rights reserved.