2017-06-23 6 views
2

私はイオンラジオを使用していますが、動的な値を持ち、反応性のフォームを使って選択したように最初の値を設定する必要があります。デフォルトの選択値ion ion-radioは反応性のあるフォームを使って動的な値を持っています

<ion-list radio-group formControlName="typeName"> 
       <ion-label class="label-radio"> 
        Type 
       </ion-label> 
       <ion-item *ngFor="let option of options"> 
        <ion-label>{{option.name}}</ion-label> 
        <ion-radio [value]="option.id"></ion-radio> 
       </ion-item> 
    </ion-list> 

typescriptです:

constructor(...){ 
this.excavationInformationForm = formBuilder.group({ 
    ... 
    **IntersectionType: '',** 
    ... 

    }); 
} 
+0

をあなたがフォームを作成するコードを追加してもらえコントロール? – sebaferreras

+1

@sebaferreras更新されたコード –

答えて

1

それをクレートときは、ちょうどそれがデフォルトで選択させる最初のオプションのIDであることを、そのコントロールの値を設定する必要があります。

this.excavationInformationForm = formBuilder.group({ 
    // ... 
    typeName: [options[0].id], 
    // ... 
}); 

編集:

データが利用できない場合トン時間、あなたは空

this.excavationInformationForm = formBuilder.group({ 
    // ... 
    typeName: [''], 
    // ... 
}); 

として、それを初期化することができ、オプションのリストが準備できたときに、コントロールの値更新:

this.excavationInformationForm.get('typeName').setValue(options[0].id); 
+1

を参照してください。データがサーバーから送信され、コンストラクタがジョブを実行したときにデータが利用できないため、これを行うことはできません。 –

+0

更新された答えを見てください:) – sebaferreras

+1

私は空の文字列 ''としてそれを置くnullの必要はないと思うと、残りのあなたが言ったように、ありがとう、それは動作します –