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
ReactiveFormsModule
dansimports
afin que nous puissions l’utiliser avec des composants dansAppModule
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 leFormControl
classe. L’argument du constructeur est la valeur initiale duname
champ.Dans le
updateName
méthode, nous appelonssetValue
pour 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.html
nous écrivons:pour ajouter un formulaire avec une entrée. Nous fixons
[formControl]
pourname
de sorte que laname
FormControl
instance est liée à l’entrée.Ensuite, lorsque nous tapons quelque chose, le
name
FormControl
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 appelonsgetRawValue
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 leFormGroup
classe:app.component.html
pour ajouter un
FormGroup
exemple.Nous appelons
FormGroup
avec un objet avec les champs de formulaire que nous créons avec leFormControl
classe.Ensuite, nous créons un formulaire et le lions au
FormGroup
en écrivant:Nous fixons
[formGroup]
pourpersonForm
pour lier le formulaire au groupe de formulaires que nous venons de créer.Et nous fixons le
formControlName
attribut au lieu deformControl
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)
pouronSubmit
donconSubmit
est appelé lorsque nous soumettons le formulaire. DansonSubmit
nous obtenons les valeurs d’entrée du formulaire avecthis.personForm.value
.En conséquence, nous devrions voir un objet avec le
name
etage
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.
Par exemple, nous écrivons :
pour ajouter le
address
former un groupe pourpersonForm
former un groupe.Puis nous écrivons :
app.component.html
utiliser le
address
former un groupe par paramètreformGroupName
pouraddress
. Et nous fixonsformControlName
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 :
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
,NgForm
etNgModelGroup
directives 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
FormsModule
pourAppModule
afin 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.ts
nous écrivons:pour ajouter le
person
variable àAppComponent
. Notre formulaire se liera aux propriétés dansperson
afin que nous puissions obtenir des valeurs d’entrée en référençantperson
.Ensuite, en
app.component.html
nous écrivons:Nous ajoutons
#personForm="ngForm"
pour définir le nom du formulaire surpersonForm
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é deperson
auquel nous voulons nous lier.person
est leperson
variable 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
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.Source link
Partager :
Articles similaires