我使用Angular表单中的addControl()
方法创建了一个函数,无论我如何尝试应用它或我应用它,我都会收到错误告诉我(something).addControl() is not a function
。
我在班级中定义了这些变量
demoA:string = 'name';
demoB:Array<string> = ['city', 'state'];
demoC:FormGroup<any>= {};
该功能如下所示
loadStuff(){
let a = this.demoA;
let b = this.demoB;
let c = this.demoC;
let ab:Array<string> = [];
let cc:FormGroup= {};
ab.push(a);
b.forEach(bb => { ab.push(bb)});
console.log(ab);
cc.addControl(a, new FormControl('') );
console.log(cc);
}
我在构造函数中调用它,如果这对你有任何影响。我原本试图在forEach()
方法中实现它但是得到了同样的错误,这是我决定在一个变量上尝试它的时候。我已成功将Forms
和ReactiveFormsModule
导入应用模块,以便在其他方面正常工作。我没有在Angular的文档中遇到任何内容,说明你需要将任何其他内容导入到组件中,我做错了什么?
答案 0 :(得分:2)
变量cc
的类型为FormGroup
,但定义为Object
,您必须将其定义为FormGroup
。
let cc:FormGroup = new FormGroup({});
或使用FormBuilder
@angular/forms
constructor(private formBuilder: FormBuilder) { }
// ...
let cc: FormGroup = this.formBuilder.group({});