Json Data に基づいて、1 つだけを選択できるラジオ ボタンの選択を繰り返す必要があります。
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 が 1 つしかない場合、ラジオ ボタンを事前に選択する必要があり、フォームにその値が自動的に設定され、フォームが有効になる必要があります。
次を使用して、フォームグループ setValue でデータを設定できました。
this.myform.setValue(mydata , 1)
ただし、このシナリオではフォームの状態が有効に変わりますが、HTML ではラジオ ボタンが選択されていません。だから私はラジオボタンに選択した追加でそれを達成しようとしました
ただし、これにより、テンプレートの解析でもエラーが発生します。
したがって、基本的に、配列に項目が1つしかない場合、ラジオボタンを事前に選択する必要があります。