问题
Basically, I have
<form #f="ngForm" (ngSubmit)="save(f.form)" #formElement>
...
<button class="btn btn-primary" #saveButton>Save</button>
</form>
I want to be able to trigger submit() from the component.
I've tried @viewChild('formElement') and renderer.invokeElementMethod to trigger click().
回答1:
NgForm has property ngSubmit which is EventEmitter. So doing emit() on this property from the component will trigger a submit.
Also you need to use your f variable instead of formElement because f is referencing to ngForm.
@ViewChild('f') form: NgForm;
form.ngSubmit.emit();
来源:https://stackoverflow.com/questions/47408404/how-to-trigger-angular-2-form-submit-from-component