选择多个:setValue 在 Angular 中不起作用

Select Multiple: setValue doesn't work in Angular

提问人:Christian Ponis 提问时间:9/25/2023 最后编辑:Christian Ponis 更新时间:9/25/2023 访问量:46

问:

我尝试在页面加载时将值设置为多选,但没有结果。 我正在使用 Angular 15(但 14 也有同样的问题)。

我在HTML文件中有一个选择,写成如下:

<select formControlName="archivio" class="form-control" id="archivio" required multiple>
   <option value="444">444</option>
   <option *ngFor="let archivio of archivi" [value]="archivio.id_archivio" >
      {{archivio.archivio}}
   </option>
</select>

在组件文件中,我有以下代码将值设置为选择:

public modificaSoggettoForm = new FormGroup({
    archivio: new FormControl([''], Validators.required)
}
this.modificaSoggettoForm.controls['archivio'].setValue(['444', soggetto.id_archivio])

使用调试器检查页面 我看到每个选项的 select value 属性都设置为如下所示的值:

value="2: 3"

其中第一个标记应该是索引,第二个是实际值。 上面报告的 setValue 行仅设置值“444”,而不设置从字段中检索到的值。此字段的值已正确检索,但未在选择时设置。多选集soggetto.id_archivio

我试图改变,但行为是一样的。select 的 'value' 属性始终包含一个值,例如 'index: value',而 'setValue' 不起作用。 这有什么解决办法吗? 谢谢。[value][ngValue]

angular-reactive-forms 多选 设置值

评论

1赞 Yong Shun 9/25/2023
这回答了你的问题吗?Angular2 formControl 用于选择多个
0赞 Christian Ponis 9/25/2023
谢谢。不幸的是,我已经将我的表单控件定义为数组,但它不起作用。

答: 暂无答案