2016-09-20 46 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