【发布时间】:2019-01-11 09:04:23
【问题描述】:
我有一些包含多个子组件的大表单(值作为@input 发送给它们)。单击提交按钮后,应清除所有字段(并且不应显示验证错误)。我尝试以几种不同的方式重置表单,但没有任何效果。
我在 .html 中编写了 createForm.reset() 或 createForm.resetForm() 文件
<form #createForm="ngForm" (ngSubmit)="addExpense(createForm.value); createForm.resetForm()">
第二种方法
.ts
@ViewChild('createForm') formValues;
addExpense(form): void {
this.expenseService.addExpense(this.expense).subscribe(() => {
this.formValues.resetForm();
console.log('Form reset done!');
);
}
.html:
<form #createForm="ngForm" (ngSubmit)="addExpense(createForm.value)">
这也不会重置表单,不会显示错误。当我查看控制台时,我看到“表单重置完成!”。
【问题讨论】:
-
使用 this.formValues.reset();
-
@KrishnaRathore 我仍然收到“表单重置完成!”在控制台中,但字段中的值不会被清除