我想在 Angular7 中构建表单数组
控件带有红色下划线。我什至在提供应用程序之前就遇到了这个错误:
“AbstractControl”类型上不存在属性“controls”
成分
addSubmenugroup(j) {
console.log(j);
const control = <FormArray>this.form.get('submenus').controls[j].get('submenugroups');
// console.log(control);
control.push(this.initSubmenugroup());
}
removeSubmenugroup(j){
const control = <FormArray>this.form.get('submenus').controls[j].get('submenugroups');
control.removeAt(j);
}
Run Code Online (Sandbox Code Playgroud)
当我点击提交按钮时,它应该生成表单数组。
小智 7
该get方法FormGroup返回的值,AbstractControl这就是为什么静态类型检查器给你一个错误。AbstractControl本身没有controls属性。
https://angular.io/api/forms/FormControl点击此处了解更多信息。
你能做的是
const formArray = this.form.get('submenus') as FormArray;
const secondArray = formArray.get('submenugroups`) as FormArray;
const control = secondArray.controls[...] as FormControl;
// Continue with your logic.
Run Code Online (Sandbox Code Playgroud)
?另外,您可以在 html 文件中使用安全导航运算符, 。
改变:
yourForm.get('myField').controls
Run Code Online (Sandbox Code Playgroud)
到:
myForm.get('myField')?.controls
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9107 次 |
| 最近记录: |