Skip to content

Textarea

Le composant Textarea fournit une zone de texte multiligne stylisée, accompagnée d’un label optionnel, d’un helperText et d’un message d’erreur. Il gère automatiquement les styles de bordures selon l’état (normal ou erreur) et émet les mises à jour via v-model.


Props

PropTypeDefaultDescription
idString, Number'textarea'Identifiant unique du champ.
modelValueString''Valeur du textarea (utilisé avec v-model).
labelString''Label affiché au-dessus du champ.
nameString''Attribut name du textarea.
placeholderString''Texte indicatif affiché dans la zone.
requiredBooleanfalseRend le champ obligatoire.
rowsNumber4Nombre de lignes visibles par défaut.
helperTextString''Texte d’aide affiché sous le champ lorsqu’il n’y a pas d’erreur.
errorString''Message d’erreur affiché sous le champ (active les styles rouge).

États visuels

ÉtatDescription
NormalBordures neutres + focus gris / zinc.
ErreurBordure rouge + focus rouge + message d’erreur rouge.

Slots

Le composant n’utilise aucun slot : tout est rendu à partir des props.


Utilisation

Textarea simple

vue
<Textarea v-model="description" label="Description" placeholder="Décrivez votre projet..." />

Textarea requis

vue
<Textarea v-model="bio" label="Biographie" required />

Avec texte d’aide

vue
<Textarea v-model="notes" label="Notes" helperText="Max 500 caractères." />

Avec message d’erreur

vue
<Textarea v-model="comment" label="Commentaire" error="Ce champ est obligatoire." />

Fonctionnement interne

  • Réactivité :
    • Le composant utilise v-model via l’événement update:modelValue.
    • L’affichage des messages dépend de helperText et error.