2016-09-20 55 views
6

我有一个角2的应用,其中我对某些输入像这样设置缺省值:角2:重置形式忽略初始值

this._stdSearchForm = this._formBuilder.group({ 
    count: [{value: 50, disabled: false}, Validators.compose([Validators.required, Validators.minLength(1), Validators.maxLength(3), Validators.pattern("^[0-9]+$")])] 
}); 

我已经inplemented一个“复位”功能是这样的:

(click)="resetStdSearchForm()" 

和只运行:

this._stdSearchForm.reset(); 

即复位的形式,但忽略了FormBu定义的初始值ilder组。

此行为是否适用?

可以在重置表单后以编程方式设置“count”的值吗?我试着这样做:

this._stdSearchForm.value.count = 50; 

但这并没有改变。

回答

9

你可以尝试以下方法:

this._stdSearchForm.setValue({ count: 50}); 

,或者你可以做同样的:

this._stdSearchForm.reset({ count: 50}); 

reset方法重置FormGroup。这意味着通过默认:

  • 组和所有后代都标原始
  • 组和所有后代都标不变
  • 所有后代的值将是零或空地图
+0

' setValue'工作正常。谢谢你,先生! –

+0

不客气! – yurzui