基本上,我有
<form #f="ngForm" (ngSubmit)="save(f.form)" #formElement>
...
<button class="btn btn-primary" #saveButton>Save</button>
</form>
我希望能够从组件中触发submit()
。
我已尝试@viewChild('formElement')
和renderer.invokeElementMethod
来触发click()
。
答案 0 :(得分:18)
NgForm的财产ngSubmit
为EventEmitter。因此,从组件对此属性执行emit()
将触发提交。
此外,您需要使用f
变量而不是formElement
,因为f
引用了ngForm
。
@ViewChild('f') form: NgForm;
form.ngSubmit.emit();
答案 1 :(得分:1)
我正在尝试使用ngSubmit.emit()
方法来更新组件中表单字段的验证状态,现在可以使用以下方法完成:
this.formGroup.markAllAsTouched();