在嵌套的 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;
}
我很想知道如何在嵌套的 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;
}