На основе данных Json мне нужно выполнить итерацию выбора переключателей, из которых может быть выбрана только одна.
JSONDATA = Observable.of ({
Предметы: [
Itemid: 1,
Itemid: 2,
Itemid: 3
]})
Formgroup выглядит следующим образом, состоящий из выбранных пользователем itemId:
this.myform = this.fb.group({
mydata: ''
});
Итерированный HTML-код выглядит следующим образом:
<div *ngFor="let item of (items$ | async); index as i; first as first">
<input type="radio" id="{{item.itemId}}" name="test" value="{{item.itemId}}" [formControl]="myform.controls.mydata" >
</div>
В конкретном сценарии существует требование, что если в данных json содержится только один itemId, то необходимо предварительно выбрать переключатель, и форма должна быть автоматически установлена с этим значением, и форма получит значение VALID.
Мне удалось установить данные с помощью формы группы setValue, используя:
this.myform.setValue(mydata , 1)
Но в этом случае состояние формы меняется на допустимое, но в HTML переключатель не был выбран. Так что я попытался добиться этого с помощью добавления выбранных к переключателю
Но это также дает ошибку при разборе шаблона.
Поэтому я хочу, чтобы переключатель был предварительно выбран, если в массиве есть только один элемент.