У меня есть простое FormGroup
:
const formGroup = this.formBuilder.group({
general: this.formBuilder.group({
description: [job.description],
country: [job.country],
nextRun: [job.nextRun],
lastRun: [job.lastRun],
enabled: [job.enabled],
tags: [this.jobTags]
}),
...
})
который я использую для заполнения form
.
Это FormGroup
может быть сброшено к исходным значениям:
this.formGroup.reset({
general: {
description: this.job.description,
country: this.job.country,
nextRun: this.job.nextRun,
lastRun: this.job.lastRun,
enabled: this.job.enabled,
tags: this.jobTags
},
...
})
И это происходит через событие, которое выводится из другого Component
через EventEmitter
.
Я заметил, что весь FormGroup
получает все его значения, установленные на null
при нажатии кнопки, до вызова метода reset
. Это делает всю форму «запаздывающей», поскольку значения в основном очищаются и повторно вставляются в поля.
Это чего-то ожидать? Или это ошибка с моей стороны?
Решено:
<button
mat-stroked-button
type="reset" <!-- Must be removed -->
(click)="restorePressed.emit()"
>
<mat-icon>restore</mat-icon>
Restore
</button>
Как видите, кнопка была помечена как type="reset"
. Так просто.