Séance 4 : Manipuler les formulaires
Dernière mise à jour
Dernière mise à jour
v-model
La directive v-model
est l'équivalent de v-bind
et v-on
en même temps. Elle permet de lier un élément du DOM à une propriété du composant.
v-model
peut être utilisé sur des entrées de différents types, des éléments <textarea>
, et <select>
. Il s'étend automatiquement aux différentes paires de propriétés et d'événements du DOM en fonction de l'élément sur lequel il est utilisé :
Les éléments <input>
de type texte et <textarea>
utilisent la propriété value et l'événement input ; <input type="checkbox">
et <input type="radio">
utilisent la propriété checked et l'événement change ; <select>
utilise value comme propriété et change comme événement.
Un ensemble d'exemple est disponible directement sur la documentation :
Champs Textes :
Champs TextArea avec plusieurs lignes :
Champs Checkbox unique ou en récupérant un tableau :
Champs radio :
Champs select (simple ou multiple) :
Par défaut, v-model
synchronise l'entrée avec les données après chaque événement input. Vous pouvez ajouter le modificateur lazy
pour enclencher la synchronisation après les événements change :
Si vous voulez que l'entrée de l'utilisateur soit automatiquement typée comme un nombre, vous pouvez ajouter le modificateur number à vos entrées gérées par v-model
:
Si la valeur ne peut pas être analysée avec parseFloat(), alors la valeur originale est utilisée à la place.
Le modificateur number est appliqué automatiquement si l'entrée possède type="number".
Si vous voulez que les espaces blancs des entrées utilisateur soient automatiquement supprimés, vous pouvez ajouter le modificateur trim à vos entrées gérées par v-model
:
Créer un formulaire avec les champs suivants :
Nom
Prénom
Affichez les valeurs saisies dans une balise <p>
.
Créer un formulaire avec les champs suivants :
Nom
Prénom
Affichez les valeurs saisies lorsque l'on appuie sur un bouton
Créer un formulaire avec les champs suivants :
Nom
Prénom
Genre (radio)
Afficher une phrase différente selon le genre sélectionné.