Выбранное по умолчанию значение ion ion-radio, которое имеет динамические значения с использованием реактивной формы

я использую 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>

машинопись:

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

    });
}

person Joe Sleiman    schedule 23.06.2017    source источник
comment
Не могли бы вы добавить код, в котором вы создаете элемент управления формой?   -  person sebaferreras    schedule 23.06.2017
comment
@sebaferreras смотрите обновленный код   -  person Joe Sleiman    schedule 23.06.2017


Ответы (1)


Вам просто нужно установить значение этого элемента управления при его создании, чтобы он был идентификатором первого параметра, чтобы сделать его выбранным по умолчанию:

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

ИЗМЕНИТЬ:

Если к этому времени данные недоступны, вы можете инициализировать их как пустые.

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

А затем, когда список параметров будет готов, обновите значение элемента управления:

this.excavationInformationForm.get('typeName').setValue(options[0].id);
person sebaferreras    schedule 23.06.2017
comment
я не могу этого сделать, потому что данные поступают с сервера, и когда конструктор выполнит свою работу, данные будут недоступны. - person Joe Sleiman; 23.06.2017
comment
я думаю, что нет необходимости обнулять, я поставил его как пустую строку '', а остальное так же, как вы сказали, спасибо, это работает - person Joe Sleiman; 23.06.2017
comment
Вы абсолютно правы, я обновил ответ вашим комментарием. Большое спасибо, что указали на это :) - person sebaferreras; 23.06.2017