Forms 重置表单并设置默认值2

Forms 重置表单并设置默认值2,forms,angular,Forms,Angular,我正在开发一个简单的Angular 2应用程序,重置ngForm时遇到问题,但保留默认值: 预期的行为是,单击“重置”时,输入框将重置为其默认值(在本例中为“默认值”),并且所有角度特定类将返回默认值(即ng未触及、ng原始等) 我看到的是默认值也被清除了,即使我在表单重置后显式设置了它 下面的代码片段: HTML: 使用表单。重置: form.reset({ id: this.id }); 原始答案(适用于angular@2) 您可以将值传递给resetForm,该值将用作表单的默认值:

我正在开发一个简单的Angular 2应用程序,重置ngForm时遇到问题,但保留默认值:

预期的行为是,单击“重置”时,输入框将重置为其默认值(在本例中为“默认值”),并且所有角度特定类将返回默认值(即ng未触及、ng原始等)

我看到的是默认值也被清除了,即使我在表单重置后显式设置了它

下面的代码片段:

HTML:


使用
表单。重置

form.reset({ id: this.id });

原始答案(适用于angular@2)

您可以将值传递给
resetForm
,该值将用作表单的默认值:

form.resetForm({ id: this.id });

(当然,如果您的表单是一个
FormGroup
,并且它有一个名为
id
的控件,该控件应该有一个默认值)

这对我很有效,但是您知道为什么“this.id='default'”行不起作用吗?谢谢,因为您只需将字符串id设置为默认值。问题是您没有将保存id的FormControl设置为该值。我认为该方法现在只是重置:form.reset()工作起来很有魅力
form.reset({ id: this.id });
form.resetForm({ id: this.id });