У меня есть группа форм, которая заполняется на основе выбора идентификатора. Однако, когда я выбираю новый идентификатор, он обновляет форму в журналах, а затем возвращается обратно к исходному значению. Вот код в классе для patchValue:
patchValueForm(portfolio: any) {
this.property_ids.patchValue(portfolio.property_ids);
this.portfolio_name.patchValue(portfolio.portfolio_name);
this.portfolio_id.patchValue(portfolio.portfolio_id);
console.log(this.formGroup.getRawValue());
}
И HTML-код, вызывающий эту функцию:
<mat-select >
<mat-option *ngFor="let portfolio of portfolios"
[value]="portfolio.portfolio_name"
(onSelectionChange)="patchValueForm(portfolio); showFields = true"
>
{{portfolio?.portfolio_name}}
</mat-option>
</mat-select>
Это загрузит правильную форму впервый случай, однако, когда я затем обновил идентификатор и вызвал функцию patchValueForm
, он сбрасывается в исходную форму. Как показано в следующем журнале консоли:
Первый журнал - после первого задания значения formValue, а затем следующие два - после второговыбор. Я не могу понять, почему он устанавливает значение, а затем мгновенно сбрасывает его к оригиналу. Это нормальное поведение?
Когда я затем фактически выбираю исходное значение formValue, оно обновляет его до ранее выбранного значения: