Comment utiliser formControlName et de traiter avec imbriqué formGroup?
Comme Angulaire la documentation dit que nous pouvons utiliser formControlName
dans nos formulaires:
<h2>Hero Detail</h2>
<h3><i>FormControl in a FormGroup</i></h3>
<form [formGroup]="heroForm" novalidate>
<div class="form-group">
<label class="center-block">Name:
<input class="form-control" formControlName="name">
</label>
</div>
</form>
Comme ils disent...
Sans un parent FormGroup, [formControl]="nom" travaillé plus tôt parce que la directive soit autonome, qui est, il fonctionne sans être dans un FormGroup. Avec un parent FormGroup, le nom de l'entrée besoins de la syntaxe formControlName=nom afin d'être associée à la bonne FormControl dans la classe. Cette syntaxe indique Angulaire de regarder pour le parent FormGroup, dans ce cas heroForm, et puis à l'intérieur de ce groupe pour chercher un FormControl appelé nom.
De toute façon il y a quelques mois j'ai demandé à cette à comprendre quelle est la différence entre formControlName
et [formControl]
.
Maintenant, ma question est: quid de l'utilisation formControlName
avec imbriqué FormGroups?
Par exemple, si j'ai la forme suivante de la structure:
this.myForm = fb.group({
'fullname': ['', Validators.required],
'gender': [],
'address': fb.group({
'street': [''],
'houseNumber': [''],
'postalCode': ['']
})
});
Quelle est la bonne façon de se lier à "la rue" (ou "houseNumber" ou "postalCode") liés à des éléments HTML à l'aide de formControlName
?
le commentaire de @yurzui est la solution, simple d'utilisation formGroupName dans votre imbriquée modèles html avant d'accéder à la formControlName en tant qu'enfant de l'élément html
OriginalL'auteur smartmouse | 2017-06-12
Vous devez vous connecter pour publier un commentaire.
vous pouvez utiliser le Formulaire de groupe qui est essentiellement une collection de contrôles ( contrôles de champs de ton formulaire html) définir dans votre tapuscrit de la syntaxe et de la lier à vos éléments HTML à l'aide de la formControlName la directive ,par exemple
Modèle:
Un formGroup peut consister en un imbriquée formGroup et de la hiérarchie peut continuer ,mais en accédant à la valeur que le son assez simple .
ng-container
est une chose à garder à l'esprit si vous ne voulez pas mettre physiquement div dans votre modèle, par exemple, pour aligner les éléments avec flex. Il serait peut-être bon de l'inclure dans la réponse.OriginalL'auteur Somdatt_Bhadvariya
Il est vrai. Regardez formGroupName
<ng-container formGroupName="quintessence">
.OriginalL'auteur Albert Nizamutdinov