小编jmp*_*orp的帖子

有没有办法从外部按钮提交Angular 2模型驱动形式(反应形式)?

我正试图通过标签外的按钮提交我的被动表格.以前,这个表单是模板驱动的,我可以这样做:

<button (click)="f.ngSubmit.emit()"></button>
Run Code Online (Sandbox Code Playgroud)

如果'f'是表格名称.

但是如果我使用这种模型驱动器形式的方法,则会显示错误:

TypeError: Cannot read property 'emit' of undefined
Run Code Online (Sandbox Code Playgroud)

我可以模拟这种行为在表单内部编写隐藏按钮并为外部按钮设置click事件:

<form [formGroup]="loginForm" (ngSubmit)="login()">
   ...
   <button #submit type="submit" style="visibility:hidden"></button>
</form>

<button (click)="submit.click"></button>
Run Code Online (Sandbox Code Playgroud)

它似乎不是最好的方法......还有另一种更好的方法吗?

谢谢.

编辑:

如果我在表单中添加一个id字段,但我认为这不是最好的方法...

<form id="loginF" [formGroup]="loginForm" (ngSubmit)="login()">
   ...
</form>

<button form="loginF" (click)="submit.click"></button>
Run Code Online (Sandbox Code Playgroud)

angular

5
推荐指数
1
解决办法
2597
查看次数

标签 统计

angular ×1