[英]Angular2: how to access a formControl value on a nested formBuilder form
[英]Is it possible to access selected object from the FormControl value in Angular2?
我使用反應式表單進行驗證,因此當我想提交表單時,我使用的是 FormControl 實例中的值。 我的模板如下所示:
<select class="form-control" name="status" formControlName="status">
<option *ngFor="let status of statuses" [ngValue]="status">
{{status.description}}
</option>
</select>
狀態對象如下所示: { id: 1, description: "desc" }
我想使用FormControl
( this.form.controls.status.value
) 的 value 屬性訪問整個狀態對象,但所選字符串存儲在值中而不是對象中。
當我訂閱 valueChanges 事件時,我可以訪問該對象。 似乎有點不合邏輯。 我認為當我訂閱值更改以及通過FormControl
的屬性訪問最新值時,我應該獲得相同的值。 通過訂閱 value changes 事件將最新的對象存儲在我的組件中是沒有意義的,因為這會迫使我復制該值。 我想這就是表單控件的目的。 也許我做錯了什么!? 我怎樣才能讓它工作?
我的表單在開發中運行良好,但在生產中失敗了。 如果您使用提前編譯 (AOT),則 form.controls.controlName 將失敗。 您必須使用 form.get('controlName')。
不要使用 control.errors?.someError,使用 control.hasError('someError')
有關更多詳細信息,請參閱此鏈接:
https://github.com/qdouble/angular-webpack2-starter#aot--donts
您可以使用以下內容在 html 中查看表單的值:
form value:
{{myForm.value | json}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.