gpt4 book ai didi

Angular 2 Form 错误 : path. 拆分不是 this.myForm.get(i) 处的函数

转载 作者:行者123 更新时间:2023-12-04 09:41:50 24 4
gpt4 key购买 nike

尝试在 Angular 2 中制作嵌套的动态表单。

形成骨架

this.myForm= this.formBuilder.group({
programmes: this.formBuilder.array([this.initProgramme(),]),
});

initProgramme() {
return this.formBuilder.group({
tickets: this.formBuilder.array([this.initTicket(),])
});
}


initTicket() {
return this.formBuilder.group({
field1:''
});
}


使用以下功能动态添加程序作品:-

addProgToForm(){

const control = <FormArray>this.myForm.get('programmes');
control.push(this.initProgramme());
}


添加票证到程序抛出错误

addTicket(programme: any) {
const control = (<FormArray>this.myForm.get('programmes')).get(programme); // THROWS ERROR HERE
(<FormArray>control.get('tickets')).push(this.initTicket());
}


.get(programme) 它说 path.split 不是函数


PS - 'get(programme)' 中的 program 是要添加动态票证的 Program Form Array 的索引。它是从 *ngFor 正确检索的。示例:- 添加第一个程序的索引 0。

最佳答案

尝试通过字符串索引获取控制:.get(programme.toString())

addTicket(programme: any) {
const control = (<FormArray>this.myForm.get('programmes')).get(programme.toString());
(<FormArray>control.get('tickets')).push(this.initTicket());
}

关于Angular 2 Form 错误 : path. 拆分不是 <FormArray>this.myForm.get(i) 处的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40820172/

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