Я создал динамическую форму, используя Reactive Forms в Angular.
Возможность удалять и создавать поля также динамически.
Но при попытке получить значения отправленной формы через onSubmit я получаю нулевые значения в классах моделей.
export class CreateListComponent implements OnInit {
sdklist: FormGroup;
ngOnInit() {
this.sdklist = new FormGroup({
SDKCollection: new FormArray([
this.initFirstChild(),
]),
});
}
initFirstChild() {
return new FormGroup({
sdkTitle: new FormControl(''),
sdkId: new FormControl(''),
sdkresourceId: new FormControl(''),
sdkdescription: new FormControl(''),
sdkimageName: new FormControl(''),
ads: new FormArray([
this.initSecondChild(),
]),
});
}
private initSecondChild() {
return new FormGroup({
adTitle: new FormControl(''),
adTag: new FormControl(''),
});
}
onSubmit(form) {
console.log('OnSubmit');
console.log(this.sdklist.value);//Values are printed in console.
var newSDKCollection : SDKCollection = this.sdklist.value;//SDKCollection is my data class
console.log(newSDKCollection.sdkTitle);//value coming as null
console.log(newSDKCollection.sdkId);//value coming as null
}
}
//SDKCollection pojo
export class SDKCollection{
sdkTitle : string;
sdkId : string;
sdkresourceId : string;
sdkdescription : string;
ads : {
[key : string] : ads
}
}
//ads pojo
export class ads{
adTitle: string;
adTag: string;
}
Моя угловая версия выглядит следующим образом
Поскольку я получаю значения ниже как нулевые, я не могу отправить этот класс модели в свой сервер и продолжить.
console.log(newSDKCollection.sdkTitle);//value coming as null
console.log(newSDKCollection.sdkId);//value coming as null
Журнал консоли для this.sdklist.value правильно показывает значения:
Что я упускаю!
this.sdklist.value
- person Bhagwat Tupe   schedule 01.04.2019this.sdklist
выглядит как массив. Итак, попробуйтеforeach
зациклить наnewSDKCollection
... - person Phantom   schedule 01.04.2019