Tapuscrit. FormGroup FormArray - supprimer un seul élément de l'objet par valeur. Angulaire 2 4
this.formGroup = this.formBuilder.group({
images: this.fb.array([])
});
Je ajouter un nouvel élément de cette façon:
this.images.push(new FormControl(new ImageCreateForm(this.imageResponse.id)));
get images(): FormArray {
return <FormArray>this.formGroup.controls.images;
}
Mes classes:
export class ImageCreateForm {
id: number;
constructor(id: number) {
this.id = id;
}
}
export class ImageResponse {
id: number;
url: string;
}
Quand j'ai ajouté les images, puis mon {{ formGroup.value | json }}
est:
"images": [
{
"id": 501
},
{
"id": 502
},
{
"id": 503
}
]
Je veux supprimer des images (par exemple, seulement l'image avec id=502
) à partir de formGroup
avant quand j'envoie mon formulaire de demande POST. Est-il possible?
J'ai essayé d'utiliser reset
méthode, mais cela supprimer tous les éléments:
this.images.reset({"id":image.id});
. Où image
c'est un ImageResponse
objet.
Résultat: {"images": [ null, null, null ]}
, mais je le souhaite:
"images": [
{
"id": 501
},
{
"id": 503
}
]
Vous devez vous connecter pour publier un commentaire.
FormArray
classe aremoveAt
qui prend l'index. Si vous ne connaissez pas l'index, vous pouvez faire une solution de contournement:values
tableau de laFormArray
de contrôle.