Я не могу понять, как сбросить одно поле FormArray, например:
myForm = this.fb.group(
{
title: ["", [Validators.required, Validators.minLength(4)]],
date: ["", Validators.required],
pairs: this.fb.array(
this.fPairs.map(f =>
this.fb.group({
score: [],
value: [],
valueRel: []
})
)
)
},
{
validator: minMaxValidator
}
);
, поэтому мой FormArray представляет собой массив из 4 объектов, поскольку он сопоставлен с:
fPairs: Array<fPairs> = [
{score: 0, value: 0, valueRel: 0},
{score: 0, value: 0, valueRel: 0},
{score: 0, value: 0, valueRel: 0},
{score: 0, value: 0, valueRel: 0}
];
То, что я до сих пор достиг, чтобы сбросить эту часть моей формы, это:
pairsControl= this.myForm.controls["pairs"] as FormArray;
и затем использовать:
this.pairsControl.reset ();
но это сбрасывает КАЖДОЕ поле FormArray, и вместо этого я могу сбросить только определенное поле,
, например, поле "score"
всех 4 объектов, оставив при этом нетронутымиполя value и valueRel
Я пробовал это:
this.fixedPointsControl.reset(["score"]);
но то, что он делает, сбрасывает все как в предыдущем выражении, так что ничего не меняется!
Что справильный способ сброса определенного поля formArray?