Aujourd’hui, nous verrons comment créer des formulaires dans Angular avec des formulaires réactifs et des formulaires basés sur des modèles et obtenir des valeurs des deux.
Les formulaires sont des éléments de base de toute application Web, et Angular nous fournit des moyens de créer des formulaires avec validation sans ajouter de nouvelle bibliothèque.
Dans cet article, nous verrons comment créer des formulaires dans Angular et obtenir des valeurs de formulaire.
Types de formes angulaires
Il existe deux types de formes angulaires.
Un type est les formes réactives. Les formulaires réactifs nous permettent de créer des formulaires avec un moyen d’accéder aux valeurs du formulaire directement à partir de l’objet du formulaire. Ils sont plus évolutifs et réutilisables, c’est donc la méthode préférée pour créer des formulaires. Le flux de données est synchrone et le modèle de données de formulaire est immuable.
Un autre type de formulaire est celui des formulaires basés sur des modèles. Les formulaires basés sur des modèles lient les valeurs de formulaire à des variables auxquelles nous pouvons accéder avec des directives. Nous accédons aux valeurs des formulaires en utilisant les variables auxquelles les contrôles de formulaire sont liés. Le modèle de données de formulaire est modifiable avec les formulaires basés sur des modèles.
Obtenir des valeurs de formulaire avec des formulaires réactifs
Pour créer des formulaires réactifs dans notre application Angular, nous utilisons le ReactiveFormsModule. Pour ce faire, nous écrivons ce qui suit dans app.module.ts:
Nous ajoutons le ReactiveFormsModule dans imports afin que nous puissions l’utiliser avec des composants dans AppModule pour créer des formulaires réactifs.
Nous pouvons maintenant créer notre premier formulaire réactif. Pour ce faire, nous écrivons ce qui suit dans app.component.ts:
Nous ajoutons le name contrôle de formulaire avec le FormControl classe. L’argument du constructeur est la valeur initiale du name champ.
Dans le updateName méthode, nous appelons setValue pour définir la valeur d’entrée de name. Et nous obtenons la valeur d’entrée après l’avoir définie avec getRawValue.
pour ajouter un formulaire avec une entrée. Nous fixons [formControl] pour name de sorte que la nameFormControl instance est liée à l’entrée.
Ensuite, lorsque nous tapons quelque chose, le nameFormControl instance aura la valeur d’entrée que nous avons tapée. Et nous pouvons également obtenir et définir la valeur d’entrée à partir de notre composant.
Nous ajoutons également un bouton qui appelle updateName quand on clique dessus. Maintenant, lorsque nous cliquons sur le bouton, updateName est appelé. setValue met à jour la valeur du formulaire à 'jane'. Et nous appelons getRawValue pour renvoyer la dernière valeur d’entrée de l’entrée, qui est 'jane'.
En règle générale, un formulaire comporte plusieurs contrôles de formulaire. On peut les regrouper avec FormGroup. Pour ce faire, nous utilisons le FormGroup classe:
Nous fixons [formGroup] pour personForm pour lier le formulaire au groupe de formulaires que nous venons de créer.
Et nous fixons le formControlName attribut au lieu de formControl pour lier les entrées aux contrôles de formulaire dans le groupe de formulaires.
Ensuite, nous ajoutons un bouton d’envoi et définissons (ngSubmit) pour onSubmit donc onSubmit est appelé lorsque nous soumettons le formulaire. Dans onSubmitnous obtenons les valeurs d’entrée du formulaire avec this.personForm.value.
En conséquence, nous devrions voir un objet avec le name et age properties avec la valeur d’entrée pour chacune lorsque nous soumettons le formulaire.
Les groupes de formulaires peuvent être imbriqués, nous définissons simplement le champ de formulaire sur un groupe de formulaires.
utiliser le address former un groupe par paramètre formGroupName pour address. Et nous fixons formControlName au nom du contrôle de formulaire comme d’habitude.
Le reste du formulaire est le même que le précédent.
Par conséquent, lorsque nous soumettons le formulaire après avoir entré certaines valeurs, nous obtenons quelque chose comme :
pour ajouter le person variable à AppComponent. Notre formulaire se liera aux propriétés dans person afin que nous puissions obtenir des valeurs d’entrée en référençant person.
Nous ajoutons #personForm="ngForm" pour définir le nom du formulaire sur personForm et désignez-le comme formulaire basé sur un modèle.
(ngSubmit) est toujours utilisé pour écouter les événements de soumission de formulaire avec des formulaires basés sur des modèles.
Ensuite, pour lier les valeurs d’entrée des contrôles de formulaire aux variables du composant, nous définissons le name attribut de chaque entrée à une valeur. name doit être défini pour qu’Angular puisse lier la valeur d’entrée à la variable de modèle.
Puis nous fixons [(ngModel)] à la propriété de person auquel nous voulons nous lier. person est le person variable dans app.component.ts.
Maintenant, lorsque nous tapons quelque chose et que nous cliquons sur Soumettre, nous obtenons quelque chose comme :
Nous obtenons simplement les valeurs d’entrée de la person directement l’objet module.
Conclusion
Les formulaires sont des éléments de base de toute application Web. Et Angular nous fournit des moyens de créer des formulaires avec validation sans ajouter de nouvelle bibliothèque.
Nous pouvons créer des formulaires avec des formulaires réactifs ou des formulaires basés sur des modèles. Il est facile d’obtenir des valeurs d’entrée de formulaire avec l’un ou l’autre type de formulaire.
Avec les formulaires réactifs, nous utilisons les classes fournies par le @angular/forms module pour créer les objets de contrôle de formulaire et de groupe de formulaires et obtenir les valeurs de formulaire avec les méthodes fournies par les instances de ces classes.
Avec les formulaires basés sur des modèles, nous utilisons [(ngModel)] pour lier l’entrée à une variable de modèle afin que nous puissions obtenir la valeur d’entrée de la variable de modèle à laquelle elle est liée.
juillet 10, 2023
Comment obtenir des valeurs de formulaire
Aujourd’hui, nous verrons comment créer des formulaires dans Angular avec des formulaires réactifs et des formulaires basés sur des modèles et obtenir des valeurs des deux.
Les formulaires sont des éléments de base de toute application Web, et Angular nous fournit des moyens de créer des formulaires avec validation sans ajouter de nouvelle bibliothèque.
Dans cet article, nous verrons comment créer des formulaires dans Angular et obtenir des valeurs de formulaire.
Types de formes angulaires
Il existe deux types de formes angulaires.
Un type est les formes réactives. Les formulaires réactifs nous permettent de créer des formulaires avec un moyen d’accéder aux valeurs du formulaire directement à partir de l’objet du formulaire. Ils sont plus évolutifs et réutilisables, c’est donc la méthode préférée pour créer des formulaires. Le flux de données est synchrone et le modèle de données de formulaire est immuable.
Un autre type de formulaire est celui des formulaires basés sur des modèles. Les formulaires basés sur des modèles lient les valeurs de formulaire à des variables auxquelles nous pouvons accéder avec des directives. Nous accédons aux valeurs des formulaires en utilisant les variables auxquelles les contrôles de formulaire sont liés. Le modèle de données de formulaire est modifiable avec les formulaires basés sur des modèles.
Obtenir des valeurs de formulaire avec des formulaires réactifs
Pour créer des formulaires réactifs dans notre application Angular, nous utilisons le
ReactiveFormsModule. Pour ce faire, nous écrivons ce qui suit dansapp.module.ts:Nous ajoutons le
ReactiveFormsModuledansimportsafin que nous puissions l’utiliser avec des composants dansAppModulepour créer des formulaires réactifs.Nous pouvons maintenant créer notre premier formulaire réactif. Pour ce faire, nous écrivons ce qui suit dans
app.component.ts:Nous ajoutons le
namecontrôle de formulaire avec leFormControlclasse. L’argument du constructeur est la valeur initiale dunamechamp.Dans le
updateNameméthode, nous appelonssetValuepour définir la valeur d’entrée dename. Et nous obtenons la valeur d’entrée après l’avoir définie avecgetRawValue.Puis dans
app.component.htmlnous écrivons:pour ajouter un formulaire avec une entrée. Nous fixons
[formControl]pournamede sorte que lanameFormControlinstance est liée à l’entrée.Ensuite, lorsque nous tapons quelque chose, le
nameFormControlinstance aura la valeur d’entrée que nous avons tapée. Et nous pouvons également obtenir et définir la valeur d’entrée à partir de notre composant.Nous ajoutons également un bouton qui appelle
updateNamequand on clique dessus. Maintenant, lorsque nous cliquons sur le bouton,updateNameest appelé.setValuemet à jour la valeur du formulaire à'jane'. Et nous appelonsgetRawValuepour renvoyer la dernière valeur d’entrée de l’entrée, qui est'jane'.En règle générale, un formulaire comporte plusieurs contrôles de formulaire. On peut les regrouper avec
FormGroup. Pour ce faire, nous utilisons leFormGroupclasse:app.component.html
pour ajouter un
FormGroupexemple.Nous appelons
FormGroupavec un objet avec les champs de formulaire que nous créons avec leFormControlclasse.Ensuite, nous créons un formulaire et le lions au
FormGroupen écrivant:Nous fixons
[formGroup]pourpersonFormpour lier le formulaire au groupe de formulaires que nous venons de créer.Et nous fixons le
formControlNameattribut au lieu deformControlpour lier les entrées aux contrôles de formulaire dans le groupe de formulaires.Ensuite, nous ajoutons un bouton d’envoi et définissons
(ngSubmit)pouronSubmitdonconSubmitest appelé lorsque nous soumettons le formulaire. DansonSubmitnous obtenons les valeurs d’entrée du formulaire avecthis.personForm.value.En conséquence, nous devrions voir un objet avec le
nameetageproperties avec la valeur d’entrée pour chacune lorsque nous soumettons le formulaire.Les groupes de formulaires peuvent être imbriqués, nous définissons simplement le champ de formulaire sur un groupe de formulaires.
Par exemple, nous écrivons :
pour ajouter le
addressformer un groupe pourpersonFormformer un groupe.Puis nous écrivons :
app.component.html
utiliser le
addressformer un groupe par paramètreformGroupNamepouraddress. Et nous fixonsformControlNameau nom du contrôle de formulaire comme d’habitude.Le reste du formulaire est le même que le précédent.
Par conséquent, lorsque nous soumettons le formulaire après avoir entré certaines valeurs, nous obtenons quelque chose comme :
connecté depuis
onSubmit.Formulaires basés sur des modèles
Une autre façon de créer des formulaires est les formulaires basés sur des modèles.
Nous utilisons le
NgModel,NgFormetNgModelGroupdirectives pour lier les formulaires et les valeurs d’entrée aux variables de composant.Pour ajouter des formulaires basés sur des modèles, nous ajoutons le
FormsModulepourAppModuleafin que nous puissions les ajouterAppModule.Pour ce faire, nous écrivons :
app.module.ts
Ensuite, nous pouvons créer notre formulaire.
Pour ce faire, en
app.component.tsnous écrivons:pour ajouter le
personvariable àAppComponent. Notre formulaire se liera aux propriétés danspersonafin que nous puissions obtenir des valeurs d’entrée en référençantperson.Ensuite, en
app.component.htmlnous écrivons:Nous ajoutons
#personForm="ngForm"pour définir le nom du formulaire surpersonFormet désignez-le comme formulaire basé sur un modèle.(ngSubmit)est toujours utilisé pour écouter les événements de soumission de formulaire avec des formulaires basés sur des modèles.Ensuite, pour lier les valeurs d’entrée des contrôles de formulaire aux variables du composant, nous définissons le
nameattribut de chaque entrée à une valeur.namedoit être défini pour qu’Angular puisse lier la valeur d’entrée à la variable de modèle.Puis nous fixons
[(ngModel)]à la propriété depersonauquel nous voulons nous lier.personest lepersonvariable dansapp.component.ts.Maintenant, lorsque nous tapons quelque chose et que nous cliquons sur Soumettre, nous obtenons quelque chose comme :
être connecté par
console.log.Nous obtenons simplement les valeurs d’entrée de la
persondirectement l’objet module.Conclusion
Les formulaires sont des éléments de base de toute application Web. Et Angular nous fournit des moyens de créer des formulaires avec validation sans ajouter de nouvelle bibliothèque.
Nous pouvons créer des formulaires avec des formulaires réactifs ou des formulaires basés sur des modèles. Il est facile d’obtenir des valeurs d’entrée de formulaire avec l’un ou l’autre type de formulaire.
Avec les formulaires réactifs, nous utilisons les classes fournies par le
@angular/formsmodule pour créer les objets de contrôle de formulaire et de groupe de formulaires et obtenir les valeurs de formulaire avec les méthodes fournies par les instances de ces classes.Avec les formulaires basés sur des modèles, nous utilisons
[(ngModel)]pour lier l’entrée à une variable de modèle afin que nous puissions obtenir la valeur d’entrée de la variable de modèle à laquelle elle est liée.Source link
Partager :
Articles similaires