Доступ к данным FormArray группы FormGroup

Итак, у меня есть эта установка FormBuilder:

surveyForm: FormGroup;
ngOnInit(): void {
     this.surveyForm = this.formBuilder.group({
       'surveyTitle': new FormControl(null),
       'surveyDescription': new FormControl(null),
       'questionsDetail': this.formBuilder.array([
         this.formBuilder.group({
           'questionType': new FormControl('mcq'),
           'question': new FormControl(null),
           'choices': this.formBuilder.array([])
         })
       ])
     });
    };

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

 onAddChoice()
  {
    const control = new FormControl(null, Validators.required);
    this.surveyForm.controls.questionsDetail.control.push(control);
  }

и я получаю эту ошибку

quote Свойство control не существует для типа AbstractControl.

Если бы кто-то мог мне помочь, это было бы здорово.

Заранее спасибо.


person dbslca    schedule 24.11.2020    source источник


Ответы (1)


Это должно быть controls, а не control

this.surveyForm.controls.questionsDetail.controls.push(control);

И я бы порекомендовал вам использовать addControl метод управления formArray, он более подробный.

(this.surveyForm.get('questionsDetail') as FormArray).addControl(control);
person Pankaj Parkar    schedule 24.11.2020