1
我想创建一个数组,内有数组。属性“推”不存在类型'控制'
该数组是用于动态表单的,所以当用户想要添加一个新节时,它会将控制字段数组推送到数组,然后在Angular2中生成它。
但是我得到这个错误: Error:(43, 41) TS2339: Property 'push' does not exist on type 'AbstractControl'.
这是我的代码:
addDesign(){
this.addForm.controls['design'].push(this.fb.group({
name: this.fb.control(null, Validators.required),
a1: this.fb.control(null, Validators.required),
a2: this.fb.control(null, Validators.required),
a3: this.fb.control(null, Validators.required),
a4: this.fb.control(null, Validators.required),
a5: this.fb.control(null, Validators.required),
maxMark: this.fb.control(null, Validators.required)
}));
}
我的构造函数,初始化形式
constructor(private fb: FormBuilder, private auth: Auth, private authHttp: AuthHttp) {
this.addForm = fb.group({
name: fb.control(null, Validators.required),
assignID: fb.control(null, Validators.required),
design: new ControlArray([])
})
}
我试图做(<Control>this.addForm.controls['design']).push
作为建议Angular2问题5871,但这并没有解决它。
我用的打字稿及Angular2 beta.17
感谢您的回复.. http://i.stack.imgur.com/cAGjX.jpg检查这个图片,虽然它应该很好根据该图,它确实工作,它推到阵列上,我忘了提到,但错误是与我的打字稿编译器检查intelering。我试图使用addControl,它不喜欢处理数组。虽然谢谢! –
好的。试试你之前正在做的演员,而不是'( this.addForm.controls ['design'])'do'( this.addForm.controls ['design'])' –
Paarth
你的传奇!我不知道为什么我没有想到,非常感谢!如果你编辑你的主帖,我可以再勾选它,如果他们有相同的问题 –