gpt4 book ai didi

Angular2 : Property 'controls' does not exist on type 'AbstractControl' . 通过索引访问格式数组中对象的 .control 时出错

转载 作者:太空狗 更新时间:2023-10-29 16:51:38 31 4
gpt4 key购买 nike

我试图在一个 formarray 中推送另一个 formbuilder,但它给了我一个错误,因为我认为在初始化代码时数组中没有项目,因此没有控件。错误是属性“控件”在

之后类型“AbstractControl”上不存在
(<FormArray>this.loanTypeForm.controls['frequency']).controls[index]

我正在使用 angular 2.0.0-beta.17

let settingsForm: FormArray = new FormArray([]);
(<FormArray>this.loanTypeForm.controls['frequency']).push(
this.formBuilder.group({
'name': [value, Validators.required],
'settings': settingsForm,
})
);
(<FormArray>this.loanTypeForm.controls['frequency']).controls[index].controls['settings'].push(
this.formBuilder.group({
'term': [null, Validators.required],
'eir': [null, Validators.required],
})
);

最佳答案

您可以使用['controls']代替.controls,如下所示:

(<FormArray>this.loanTypeForm.controls['frequency']).controls[index]['controls']['settings'].push(...)

但为了简化并提供更多可读性,我建议您将其全部更改为:

const control = this.loanTypeForm.get(`frequency.${index}.settings`) as FormArray;
control.push(...);

关于Angular2 : Property 'controls' does not exist on type 'AbstractControl' . 通过索引访问格式数组中对象的 .control 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41950360/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com