this.angForm=this.fb.group({
status:[''],
subtotal:[],
tax:[],
total:[],
date:[],
orderProducts:this.fb.array([]),
paymentMethod:[''],
customerFullName:[''],
phone:[''],
email:[''],
shippingAddress:[''],
deliveryNote:[''],
city:[''],
province:[''],
postalCode:[''],
})
}
это структура формы, а orderProducts - это formarray
for(let i of this.items){
this.ProductOrder.push(new FormGroup({
productName:new FormControl(i.name),
isDonation:new FormControl(false),
isGift:new FormControl(false),
comment:new FormControl(null),
price:new FormControl(i.price),
quantity:new FormControl(0),
}),)
}
в formarray, у меня есть часть formcontrol, показывающая название продукта и цену, а в другом поле имя и цена, которые я взял это из базы данных. Теперь я попытался рассчитать количество * всех продуктов
<form [formGroup]="angForm">
<div formArrayName="orderProducts">
<div class="cart-item" *ngFor="let item of ProductOrder.controls;let i = index">
<br>
<div [formGroupName]="i">
<mat-card class="card">
<b>Item:</b>
{{ item.controls.productName.value }}<br>
<b>Price:</b>
{{ item.controls.price.value}}     
<mat-form-field>
<mat-label>Qty:</mat-label>
<input matInput type="number" min="0" formControlName="quantity">
</mat-form-field>
<br>
<mat-checkbox formControlName="isGift" >This is a gift</mat-checkbox>   
<mat-checkbox formControlName="isDonation">Donate it </mat-checkbox><br>
<mat-form-field class="comment">
<mat-label>Leave a comment</mat-label>
<textarea matInput placeholder="I want ..." formControlName="comment" ></textarea>
</mat-form-field><br>
. В этом случае общая цена должна составлять 160. Как рассчитать цену и динамически отобразить ее на той же странице это HTML часть. Большое спасибо
https://github.com/febycloud/BakeryStore/tree/master/frontend/src/app/cart Вот мой полный код Спасибо за помощь