如何防止 material 菜单在 angular 7 中未经用户许可关闭

How to prevent material menu from closing without user permission in angular 7

我有一个 mat-menu 包含多个复选框,我希望用户在选中他想要的所有类型的过滤器时关闭它。

实际行为是当您单击任何内容时它会自动关闭。

我有这个代码:

<button color="warn" mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
  <button mat-menu-item>
    <mat-checkbox color="warn">
      By LM
    </mat-checkbox>&nbsp;
  </button>
  <button mat-menu-item>
    <mat-checkbox color="warn">
      By UN
    </mat-checkbox>&nbsp;
  </button>
</mat-menu>

我检查了 但活动没有成功。

根据文档,他们说:

@Output() closed: EventEmitter

Event emitted when the menu is closed.

但我无法弄清楚如何使用此输出,以及它是否与我需要的相关。

这里是stackblitz.

如何防止 mat-menu 在用户不点击外部的情况下关闭?

我查看了你的 stackblitz,你可以这样做:

<button mat-menu-item (click)="$event.stopPropagation();">

这将阻止它关闭。