Angular 为什么不';mat菜单中的t按钮是否提交?
我正在使用mat菜单为用户显示选项列表。当用户单击某个选项时,它应该触发提交my formGroup dropdown.component.html 当我单击Angular 为什么不';mat菜单中的t按钮是否提交?,angular,forms,angular-material,angular-reactive-forms,Angular,Forms,Angular Material,Angular Reactive Forms,我正在使用mat菜单为用户显示选项列表。当用户单击某个选项时,它应该触发提交my formGroup dropdown.component.html 当我单击mat菜单项时,会调用test()函数,但不会调用onSubmit()。只有当我从mat菜单中删除该项并将其保留为独立按钮时,它才能调用submit函数 <form [formGroup]="myForm" (ngSubmit)=onSubmit(myform)> <button mat-button ty
mat菜单项
时,会调用test()
函数,但不会调用onSubmit()
。只有当我从mat菜单中删除该项并将其保留为独立按钮时,它才能调用submit函数
<form [formGroup]="myForm" (ngSubmit)=onSubmit(myform)>
<button mat-button type="submit">
Options
</button>
<button (click)="test()" type="submit">
This is an Option //Submits now that it is no longer part of a mat-menu
</button>
</form>
选择权
这是一个选项//现在它不再是mat菜单的一部分
当这个按钮还是
mat菜单的一项时,我如何才能让它提交呢?由于下拉列表是在表单外部呈现的,您无法提交表单,因此请使用[matMenuTriggerData]=“{form:testForm}”
传递表单引用,在下拉列表中,您可以使用触发表单提交(单击)=“form.ngSubmit.emit()”
,请检查下面的参考示例
这里发生的是mat菜单组件的内容将在表单之外呈现
您可以使用以下几个选项使其正常工作:
1) 直接提交表格
<form #form="ngForm" ...>
...
<mat-menu #options="matMenu">
<button mat-menu-item (click)="form.onSubmit($event)" type="submit">
...
</button>
</mat-menu>
</form>
<form [formGroup]="myForm" (ngSubmit)=onSubmit(myform)>
<button mat-button type="submit">
Options
</button>
<button (click)="test()" type="submit">
This is an Option //Submits now that it is no longer part of a mat-menu
</button>
</form>
<form #form="ngForm" ...>
...
<mat-menu #options="matMenu">
<button mat-menu-item (click)="form.onSubmit($event)" type="submit">
...
</button>
</mat-menu>
</form>
<form id="myForm" ...>
...
<mat-menu #options="matMenu">
<button mat-menu-item form="myForm" type="submit">
...
</button>
</mat-menu>
</form>