J'ai un formulaire répétitif OrderLines, qui comporte deux listes déroulantes : ProductType et Product. Comme il y a plus de 1000 produits, je veux filtrer les produits dans la liste déroulante Produit après avoir sélectionné / modifié un Type de produit.
Pour cela, j'utilise un pipe productFilter, et au chargement du formulaire, cela fonctionne bien. Cependant, lorsque je change le ProductType, il semble que le ngFor ne rafraîchisse pas les valeurs disponibles.
<div class="form-group row">
<label for="product_type_id-field" class="col-md-4 col-form-label">
Product Type
</label>
<div class="col-md-8">
<select formControlName="product_type_id" class="form-control" id="product_type_id-field">
<option *ngFor="let productType of productTypes" value="{{productType.id}}">{{productType.name}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="product_id-field" class="col-md-4 col-form-label">
Product
</label>
<div class="col-md-8">
<select formControlName="product_id" class="form-control" id="product_id-field">
<option *ngFor="let product of products | productFilter: myForm.controls.orderlines.controls[i].controls.product_type_id.value" value="{{product.id}}">{{product.name}}</option>
</select>
</div>
</div>
Comment puis-je forcer le rafraîchissement des valeurs de la liste déroulante des produits sans initier le formulaire entier ?