当select具有formControlName时,选项上的“selected”标签不起作用

前端之家收集整理的这篇文章主要介绍了当select具有formControlName时,选项上的“selected”标签不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<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 =“本地化时,然后在开始时选择Gdańsk.

Lokalization控件看起来像这个localizationCtrl = new FormControl(“”,Validators.required);

当我替换它时没有区别:
localizationCtrl = new FormControl(“”);
当然下一步是通过执行以下操作将该控件添加到offerForm:

...
localization: this.localizationCtrl
...

但请不要试图在这里寻找问题因为我在offerForm中有类似7个其他验证器,所有这些都可以正常工作.

解决方法

在表单模型初始化期间分配默认值.

`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-formcontrol
https://scotch.io/tutorials/how-to-deal-with-different-form-controls-in-angular-2

猜你在找的Angularjs相关文章