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

elz*_*zoy 5 select angular

<div class="form-inline">\n  <label class="text-color">Lokalizacja:</label>\n  <select class="form-control dropdown" formControlName="localization">\n    <option value="Gda\xc5\x84sk" selected>Gda\xc5\x84sk</option>\n    <option value="Rzesz\xc3\xb3w">Rzesz\xc3\xb3w</option>\n    <option value="Wroc\xc5\x82aw">Wroc\xc5\x82aw</option>\n  </select>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

不知道发生了什么,但在这种情况下,没有选择的选项,我必须从列表中选择一些内容。当我formControlName="localization从选择中删除时,然后Gda\xc5\x84sk在开始时被选择。

\n\n

定位控制看起来像这样localizationCtrl = new FormControl("", Validators.required);

\n\n

localizationCtrl = new FormControl("");当我将其替换为:\n \n当然下一步是通过执行以下操作将该控件添加到 OfferForm 中时没有区别:

\n\n
...\nlocalization: this.localizationCtrl\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n

但请不要试图在这里寻找问题,因为我在 OfferForm 中有类似 7 个其他验证器,并且它们都工作正常。

\n

Chy*_*bie 5

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

\n\n
`localizationCtrl = new FormControl("Gda\xc5\x84sk", Validators.required);`\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者如果该值来自服务器,则使用 formControl\ 的updateValue方法。

\n\n
localizationCtrl.updateValue(\'Gda\xc5\x84sk\');\n
Run Code Online (Sandbox Code Playgroud)\n\n

请参阅此处: https: //scotch.io/tutorials/using-angular-2s-model-driven-forms-with-formgroup-and-formcontrol和 \n https://scotch.io/tutorials/how-to-deal -with-other-form-controls-in-angle-2

\n