2016-07-28 81 views
3
<div class="form-inline"> 
    <label class="text-color">Lokalizacja:</label> 
    <select class="form-control dropdown" formControlName="localization"> 
    <option value="Gdańsk" selected>Gdańsk</option> 
    <option value="Rzeszów">Rzeszów</option> 
    <option value="Wrocław">Wrocław</option> 
    </select> 
</div> 

不知道發生了什麼,但在這種情況下沒有選擇的選項,我不得不從列表中選擇的東西。當我從select中刪除​​時,在開始時選擇Gdańsk「選擇」標記選項不起作用時,選擇已形式控制名稱

Lokalization控制看起來像這樣localizationCtrl = new FormControl("", Validators.required);

沒有區別,當我更換上:當然 localizationCtrl = new FormControl(""); 下一步是通過做補充的是控制offerForm:

... 
localization: this.localizationCtrl 
... 

但請不要試圖在這裏尋找問題,因爲我在offerForm裏面有7個其他的驗證器,並且它們都能正常工作。

回答

3

分配形式模型初始化過程中的默認值。

`localizationCtrl = new FormControl("Gdańsk", Validators.required);` 

,或者如果該值來自服務器,使用formControl的updateValue方法。

localizationCtrl.updateValue('Gdańsk'); 

在這裏看到:https://scotch.io/tutorials/using-angular-2s-model-driven-forms-with-formgroup-and-formcontrolhttps://scotch.io/tutorials/how-to-deal-with-different-form-controls-in-angular-2

+0

我完全忘記了什麼是''' 「」'''內部控制有關。有點尷尬,謝謝。 – elzoy

3

代替selected使用

<select [ngModel]="selectedItem" class="form-control dropdown" formControlName="localization"> 

,並設置selectedItem"Gdańsk"

localization值設置爲Gdańsk