у меня есть форма с формой массива:Угловое 2 patchValue в форме массива
this.myForm = this._fb.group({
id: [this.model.id],
customer_id: [this.model.customer_id],
orderlines: this._fb.array([])
});
Форма массива:
return this._fb.group({
id: [orderline.id],
order_id: [orderline.order_id],
factor: [orderline.factor],
})
Теперь я хочу, чтобы изменить значение поля фактора в в метод setFactor (i). I является индексом порядковых строк массива формы.
setFactor(i) {
this.myForm['orderlines'[i]].patchValue({ factor: 99 }) <--- no error but no change in form
this.myForm.patchValue({ orderlines[i].factor: 99 }) <-- error
}
Как я могу использовать patchValue для изменения значения в массиве форм?
EDIT
это даст мне значение, я хочу изменить:
console.log(this.myForm['controls']['orderlines']['controls'][i]['controls']['factor'].value);
Ни одна из этих попыток имеет смысл. '' orderlines '[i] 'индексируется в строку' 'orderlines'', так что вы закончите, например. 'This.myForm [ 'о'] '. Во второй версии, по-видимому, ошибка заключается в том, что вы не определили «упорядоченные позиции» где-нибудь (насколько вы показали) до индексации в нее. Кроме того, этот массив управления пуст, поэтому неясно, что именно приведет к его индексированию. Не могли бы вы дать [mcve]? – jonrsharpe