在嵌套的 formArray 中获取控件

getting controls inside nested formArray

我很想知道如何在嵌套的 formArray 中获取控件。我初始化了这个表单

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

但是当我尝试访问我选择的 formArray 的控件时,出现错误。我使用了这个代码

get questionsDetailcontrols() {
    return (this.surveyForm.get('questionsDetail') as FormArray).controls;
  }
  get choicesControl()
  {
    return (this.questionsDetailcontrols.get('choices') as FormArray).controls;
  }

我在 get('choices') 时收到一条错误消息,指出“属性 'get' 在类型 'AbstractControl[]' 上不存在”。 谁能告诉我如何访问嵌套数组中的控件。

提前致谢

试试这个。

  get questionsDetailcontrols() {
    return this.surveyForm.get('questionsDetail') as FormArray;
  }

  getChoicesControl(index: number)
  {
        return (this.questionsDetailcontrols.at(index).get('choices') as FormArray).controls;
  }