<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中删除formControlName="localization
时,会在开始时选择Gdańsk
。
Lokalization控件看起来像localizationCtrl = new FormControl("", Validators.required);
当我替换它时没有区别:
localizationCtrl = new FormControl("");
当然下一步是通过执行以下操作将该控件添加到provideForm:
...
localization: this.localizationCtrl
...
但是请不要试图在这里寻找问题,因为我在offerForm中有类似7个其他验证器,所有这些都可以正常工作。
答案 0 :(得分:4)
在表单模型初始化期间分配默认值。
`localizationCtrl = new FormControl("Gdańsk", Validators.required);`
或者如果值来自服务器,请使用formControl&#39; updateValue
方法。
localizationCtrl.updateValue('Gdańsk');
见这里:https://scotch.io/tutorials/using-angular-2s-model-driven-forms-with-formgroup-and-formcontrol和 https://scotch.io/tutorials/how-to-deal-with-different-form-controls-in-angular-2
答案 1 :(得分:3)
而不是selected
使用
<select [ngModel]="selectedItem" class="form-control dropdown" formControlName="localization">
并将selectedItem
设置为"Gdańsk"
或将localization
的值设置为Gdańsk