Bei den Reactive Forms von Angular kann eine FormGroup oder ein FormControl mit der markAsPending Methode als pending markiert werden.

Es gibt jedoch keine unmarkAsPending Methode, aber dafür einen Workaround, um den pending Status zu verlassen.

...

doSomethingAsyncWithTheForm(): void {
  const control: FormControl = new FormControl();

  this.control.markAsPending();

  this.apiService.doSomethingAsync()
    .pipe(map(() => {
      // Unmark from pending hack
      this.control.setErrors(this.control.errors);
    }))
    .subscribe();
}

...

Der Workaround besteht darin die Errors des Controls mit dem bestehenden Wert zu überschreiben.

Somit ist dies gleichbedeutend mit unmarkAsPending.

this.control.setErrors(this.control.errors);

Du hast eine anderen Lösungsweg? Dann lass uns alle daran teilhaben und hinterlasse einen Kommentar. Danke!

Vorheriger Artikel
Daniel Kiesel ist ein freier Softwareentwickler aus der Region Karlsruhe und unterstützt Unternehmen und deren Teams bei der Entwicklung von Softwareprodukten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.