Angular * ngFor FormArray в качестве переключателей - PullRequest
0 голосов
/ 10 июня 2019

Цель состоит в том, чтобы пользователь нажимал ответ на ответы FormArray нажатием кнопки, и * ngДля радиокнопки для выбора правильного ответа. Хотите иметь только элемент ввода и кнопки для нажатия и рендеринга ответов ниже в группу радио. Возникли проблемы с правильной настройкой раздела formarray ... спасибо

TS

questionForm: FormGroup;
answers: FormArray;


this.questionForm = this.fb.group({
      answers: this.fb.array([this.createItem()]),
      correct: ['', [Validators.required]]
    });

createItem(): FormGroup {
    return this.fb.group({
      data: ['', [Validators.required]],
      color: ['danger']
    });
  }

addAnswer() {
  this.answers = this.questionForm.get('answers') as FormArray;
  this.answers.push(this.createItem());
}

HTML

<div formArrayName="questionForm.get('answers').controls">
   <ion-card-content">
      <ion-input formControlName="data"> </ion-input>
         <ion-button [disabled]="questionForm.get('answers').invalid (click)="addAnswer()" >Add answer
         </ion-button>
   </ion-card-content>
</div>

<ion-list *ngFor="let answer of questionForm.get('answers).value; index as i">
    <ion-item lines="none">
      <ion-radio value="{{ i }}"></ion-radio>
        <ion-label>{{ answer.data }}</ion-label>
    </ion-item>
</ion-list>
...