typescript - Cum să verifici dacă un control de formular este dezactivat sau nu în formularele reactive


Există o modalitate în Angular de a verifica dacă un control de formular este dezactivat?

this.form.get("nationality").disable()

a dezactivat acest control.

Pot verifica dacă acest control este dezactivat în metoda de resetare. Dacă este dezactivat, nu este necesar să resetez valoarea.

Cum pot verifica asta.

onReset(){
 if(this.form.get("nationality").isDisable()){// its wrong
let name =this.form.get("nationality").value;
}else{
let name = null;
}
 this.form.reset({
        name: name
    });

}

Răspuns #1

Elementele de control ale formularului au proprietatea disabled, așa că, de exemplu

if(!myForm.controls['myControl'].disabled){
  myForm.controls['myControl'].reset();
}

va reseta controlul formularului doar dacă nu a fost dezactivat.

Consultați https://angular.io/api/forms/FormControl pentru mai multe informații

Răspunsul #2

Înregistrează-ți FormControl-ul, acesta are o proprietate numită disabled:

pe care îl poți verifica astfel:

// this is the control that we're using
formControl: FormControl = new FormControl('');

// and this is the check that we're doing:
if (this.formControl.disabled) {
  // do your magic here
}