我试图在菜单中使用复选框选项,但是我需要保持菜单打开,直到用户完成选择选项为止。我正在使用最新版本的Angular。预先谢谢你!
我将here中的嵌套mat菜单与复选框进行了组合:
我尝试过的操作,但是在选中复选框后菜单关闭:
<mat-menu #worldtest="matMenu" md-prevent-menu-close="md-prevent-menu-close">
<section><mat-checkbox class="example-margin" [(ngModel)]="checked">Checked</mat-checkbox></section>
<section><mat-checkbox class="example-margin" [(ngModel)]="indeterminate">Indeterminate</mat-checkbox></section>
</mat-menu>
答案 0 :(得分:12)
当您在Mat-menu菜单上使用复选框(或任何响应单击的交互式元素),并且您不希望菜单在单击时关闭时,您需要阻止菜单接收click事件。用MouseEvent.stopPropagation()
停止它。尝试这样的事情:
<mat-checkbox (click)="$event.stopPropagation()">Check Me</mat-checkbox>
md-prevent-menu-close
功能来自AngularJS的旧Angular Material-Angular Material(v6)的“最新版本”没有该功能。 Angular Material(对于AngularJS为v1.x)和Angular Material2(对于Angular为v2 / 5/6)不可互换。