I want to set values to form Array,i am unable to set new values.
I have tried to set values using patch value,but failed
//in component.ts
this.packageForm = this.formBuilder.group({
title: ['', Validators.required],
productImage: ['', Validators.required],
price: ['', Validators.required],
products: this.formBuilder.array([
this.addProductFormGroup()
])
})
//form builder Array
addProductFormGroup(): FormGroup {
return this.formBuilder.group({
productNames: ['',Validators.required],
productQuantities: ['',Validators.required]
})
}
//adding row
addProductsRow()
{
(<FormArray>this.packageForm.get('products'))
.push(this.addProductFormGroup();
}
//deleting row
removeProductsRow(productGroupIndex: number) {
(<FormArray>this.packageForm.get('products'))
.removeAt(productGroupIndex);
}
addPackage() {
this.productNames=null;
this.productQuantities=null;
this.packageForm.value.products.forEach(element => {
this.productNames = (this.productNames == null) ? element.productNames
: this.productNames + "~" + element.productNames;
this.productQuantities = (this.productQuantities == null) ?
element.productQuantities : this.productQuantities + "~" +
element.productQuantities;
});
}
i'm getting values from form with this click event addPackage()
,I want
to send form data in this format productNames
as [oil~sugar~flour] and
productQuantity
as [4~3~5].
0:{productNames: "oil", productQuantities: "4"} 1: {productNames: "sugar", productQuantities: "3"} 2: {productNames: "flour", productQuantities: "5"}