Utiliser désactiver avec un formulaire piloté par un modèle
Je suis en train d'utiliser le disabled
à l'intérieur de mon basée sur un modèle de formulaire. J'ai la forme suivante:
this.form = this.formBuilder.group({
val1: ['', Validators.required],
val2: [{value:'', disabled:this.form.controls.val1.valid}]
});
J'obtiens une erreur (ne pas trouver controls
de this.form
) probablement parce que je suis en utilisant this.form
à l'intérieur de this.form
.
Comment puis-je régler ce problème?
PS j'ai aussi essayé d'ajouter [disabled]='...'
à l'intérieur de mon code html, mais je reçois un message d'avertissement disant que je devrais utiliser le formBuilder au lieu
source d'informationauteur ncohen
Vous devez vous connecter pour publier un commentaire.
Oui vous avez raison, le problème, c'est parce que vous faites référence à une variable (
this.form
) quand il n'est pas encore lancé. De la chance, dans votre cas, vous n'avez pas vraiment besoin de se référer à la forme de groupe dans votreval2
contrôle de formulaire. Votre code peut être réécrit comme suit:Cependant, ce bloc seuls les initiés le
disabled
valeur val2 de contrôle sans surveillanceval1Control
's de validité. Pour ce faire, vous aurez besoin de vous abonner àval1Control.statusChanges
:Voici le travail plunker: http://plnkr.co/edit/kEoX2hN9UcY4yNS3B5NF