MDUIDocs
Copier le lien llms.txtCopier le lien llms-full.txtVoir cette page en MarkdownDiscuter de cette page avec ChatGPTDiscuter de la documentation complète avec ChatGPT
Couleurs prédéfinies
Couleur personnalisée
Extraire du fond d'écran
Veuillez sélectionner un fond d'écran
Premiers pas
Développement assisté par l'IA
Styles
Intégration avec les frameworks
Composants
Avatar Badge BottomAppBar Button ButtonIcon Card Checkbox Chip CircularProgress Collapse Dialog Divider Dropdown Fab Icon Layout LinearProgress List Menu NavigationBar NavigationDrawer NavigationRail Radio RangeSlider Select SegmentedButton Slider Snackbar Switch Tabs TextField Tooltip TopAppBar
Fonctions
Bibliothèques

TextField

Le composant champ de texte permet aux utilisateurs de saisir du texte, généralement utilisé dans les formulaires et les boîtes de dialogue.

Utilisation

Importez le composant selon vos besoins :

import 'mdui/components/text-field.js';

Importez le type TypeScript correspondant :

import type { TextField } from 'mdui/components/text-field.js';

Exemple d'utilisation :

<mdui-text-field label="Champ de texte"></mdui-text-field>

Exemples

Variante

Définissez la variante à l'aide de l'attribut variant.

Texte d'aide

Utilisez label pour afficher un texte au-dessus du champ.

Utilisez placeholder pour afficher un exemple de saisie.

Utilisez helper (ou le slot helper) pour afficher un message d'aide en dessous. Ajoutez helper-on-focus pour ne l'afficher que lorsque le champ a le focus.

Effaçable

Ajoutez l'attribut clearable pour afficher un bouton d'effacement lorsqu'une valeur est saisie.

Alignement du texte à droite

Ajoutez l'attribut end-aligned pour aligner le texte à droite.

Texte et icônes avant/après

Utilisez les attributs icon et end-icon pour ajouter des icônes Material Icons. Utilisez les slots correspondants pour une personnalisation avancée.

Utilisez les attributs prefix et suffix (ou les slots correspondants) pour ajouter du texte avant ou après. Ce texte ne s'affiche que lorsque le champ a le focus ou contient une valeur.

Lecture seule

Ajoutez l'attribut readonly pour rendre le champ en lecture seule.

Désactivé

Ajoutez l'attribut disabled pour désactiver le composant.

Champ multiligne

Utilisez l'attribut rows pour définir le nombre de lignes.

Ajoutez l'attribut autosize pour ajuster automatiquement la hauteur. Utilisez min-rows et max-rows pour définir les limites.

Compteur de caractères

Lorsque maxlength est défini, ajoutez counter pour afficher un compteur de caractères.

Champ mot de passe

Lorsque type="password", ajoutez toggle-password pour afficher un bouton permettant d'afficher/masquer le mot de passe.

API

Propriétés

Attribut HTMLPropriété JavaScriptReflectTypeDéfaut
variantvariant'filled' | 'outlined''filled'

Forme du champ de texte. Par défaut filled. Les valeurs possibles incluent :

  • filled : Champ de texte avec couleur de fond, effet visuel fort
  • outlined : Champ de texte avec bordure, effet visuel plus faible
typetype'text' | 'number' | 'password' | 'url' | 'email' | 'search' | 'tel' | 'hidden' | 'date' | 'datetime-local' | 'month' | 'time' | 'week''text'

Type de saisie du champ de texte. Par défaut text. Les valeurs possibles incluent :

  • text : Valeur par défaut. Champ de texte
  • number : Permet uniquement la saisie de chiffres. Affiche un clavier numérique sur les appareils dotés d'un clavier virtuel.
  • password : Pour saisir des mots de passe ; la valeur est masquée.
  • url : Pour saisir des URL ; valide le format de l'URL. Affiche un clavier adapté sur les appareils prenant en charge les claviers virtuels.
  • email : Pour saisir des adresses e-mail ; valide le format de l'e-mail. Affiche un clavier adapté sur les appareils prenant en charge les claviers virtuels.
  • search : Pour les champs de recherche. Sur les appareils dotés d'un clavier virtuel, la touche Entrée affiche une icône de recherche.
  • tel : Pour saisir des numéros de téléphone. Affiche un clavier numérique téléphonique sur les appareils dotés d'un clavier virtuel.
  • hidden : Masque le contrôle, mais sa valeur est toujours envoyée au serveur.
  • date : Saisie d'une date (année, mois, jour, sans heure). Sur les navigateurs pris en charge, ouvre un sélecteur de date ou une molette numérique année-mois-jour lorsqu'il est activé.
  • datetime-local : Saisie d'une date et d'une heure, sans fuseau horaire. Sur les navigateurs pris en charge, ouvre un sélecteur de date ou une molette numérique année-mois-jour lorsqu'il est activé.
  • month : Saisie d'une année et d'un mois, sans fuseau horaire.
  • time : Saisie d'une heure, sans fuseau horaire.
  • week : Saisie d'une date composée d'une année et d'un numéro de semaine, sans fuseau horaire.
namenamestring''

Nom du champ de texte, qui sera envoyé avec les données du formulaire

valuevaluestring''

Valeur du champ de texte, qui sera envoyée avec les données du formulaire

defaultValuestring''

Valeur par défaut. Lors de la réinitialisation du formulaire, il reviendra à cette valeur par défaut. Cette propriété ne peut être définie que par une propriété JavaScript.

labellabelstring-

Texte de l'étiquette

placeholderplaceholderstring-

Texte de l'espace réservé

helperhelperstring-

Texte d'aide en bas du champ de texte. Peut également être défini via slot="helper".

helper-on-focushelperOnFocusbooleanfalse

Si le texte d'aide en bas ne doit être affiché que lorsque le champ obtient le focus.

clearableclearablebooleanfalse

Si le contenu du champ de texte peut être vidé

clear-iconclearIconstring-

Lorsque le champ de texte peut être vidé, nom de l'icône Material Icons pour le bouton d'effacement affiché à droite. Peut également être défini via slot="clear-icon".

end-alignedendAlignedbooleanfalse

Si le texte doit être aligné à droite

prefixprefixstring-

Texte de préfixe du champ de texte. N'est affiché que lorsque le champ de texte a le focus ou a une valeur. Peut également être défini via slot="prefix".

suffixsuffixstring-

Texte de suffixe du champ de texte. N'est affiché que lorsque le champ de texte a le focus ou a une valeur. Peut également être défini via slot="suffix".

iconiconstring-

Nom de l'icône Material Icons pour l'icône de préfixe du champ de texte. Peut également être défini via slot="icon".

end-iconendIconstring-

Nom de l'icône Material Icons pour l'icône de suffixe du champ de texte. Peut également être défini via slot="end-icon".

error-iconerrorIconstring-

Lorsque la validation du champ du formulaire échoue, nom de l'icône Material Icons affichée à droite du champ de texte. Peut également être défini via slot="error-icon".

formformstring-

Élément <form> associé. La valeur de cet attribut doit être l'id d'un élément <form> dans la même page.

Si cet attribut n'est pas spécifié, l'élément doit être un enfant de l'élément <form>. Grâce à cet attribut, vous pouvez placer l'élément n'importe où sur la page, pas seulement en tant qu'enfant de l'élément <form>.

readonlyreadonlybooleanfalse

Si le champ est en lecture seule

disableddisabledbooleanfalse

Si le champ de texte est désactivé

requiredrequiredbooleanfalse

Si ce champ doit être obligatoirement rempli lors de la soumission du formulaire

rowsrowsnumber-

Nombre de lignes fixes affichées pour le champ de texte

autosizeautosizebooleanfalse

Si la hauteur du champ de texte doit s'ajuster automatiquement en fonction du contenu saisi

min-rowsminRowsnumber-

Lorsque autosize est true, nombre minimal de lignes du champ de texte

max-rowsmaxRowsnumber-

Lorsque autosize est true, nombre maximal de lignes du champ de texte

minlengthminlengthnumber-

Nombre minimal de caractères autorisé

maxlengthmaxlengthnumber-

Nombre maximal de caractères autorisé

countercounterbooleanfalse

Si un compteur de caractères doit être affiché, n'est effectif que lorsque maxlength est spécifié.

minminnumber-

Lorsque type est number, valeur numérique minimale autorisée

maxmaxnumber-

Lorsque type est number, valeur numérique maximale autorisée

stepstepnumber-

Lorsque type est number, pas d'incrémentation/décrémentation

patternpatternstring-

Expression régulière pour la validation du formulaire

toggle-passwordtogglePasswordbooleanfalse

Lorsque type est password, définir cet attribut ajoute un bouton pour basculer entre le texte clair et le texte masqué.

show-password-iconshowPasswordIconstring-

icône Material Icons pour le bouton de basculement du mot de passe, affiché lorsque le mot de passe est en texte clair. Peut également être défini via slot="show-password-icon".

hide-password-iconhidePasswordIconstring-

icône Material Icons pour le bouton de basculement du mot de passe, affiché lorsque le mot de passe est masqué. Peut également être défini via slot="hide-password-icon".

autocapitalizeautocapitalize'none' | 'sentences' | 'words' | 'characters'-

Attribut iOS non standard servant à contrôler la mise en majuscule automatique de la première lettre du texte. Valable sur iOS 5 et versions ultérieures. Les valeurs possibles incluent :

  • none : Désactive la mise en majuscule automatique
  • sentences : Met en majuscule la première lettre des phrases
  • words : Met en majuscule la première lettre des mots
  • characters : Met en majuscule toutes les lettres
autocorrectautocorrectstring-

Attribut autocorrect de l'élément input

autocompleteautocompletestring-

Attribut autocomplete de l'élément input

enterkeyhintenterkeyhint'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'-

Attribut enterkeyhint de l'élément input, utilisé pour personnaliser le texte ou l'icône affiché(e) sur la touche Entrée du clavier virtuel. L'affichage réel dépend de l'appareil et de la langue de l'utilisateur. Les valeurs possibles incluent :

  • enter : Insère une nouvelle ligne
  • done : Termine la saisie, ferme le clavier virtuel
  • go : Navigue vers la cible du texte saisi
  • next : Passe à l'élément de saisie suivant
  • previous : Revient à l'élément de saisie précédent
  • search : Navigue vers les résultats de recherche
  • send : Envoie le message texte
spellcheckspellcheckbooleanfalse

Si la vérification orthographique doit être activée

inputmodeinputmode'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'-

Attribut inputmode de l'élément input, utilisé pour personnaliser le type de clavier virtuel. Les valeurs possibles incluent :

  • none : Pas de clavier virtuel. Utile lorsque vous souhaitez implémenter votre propre contrôle de saisie au clavier.
  • text : Clavier de saisie de texte standard
  • decimal : Clavier de saisie décimale, peut inclure un point décimal . ou une virgule de séparation des milliers , en plus des chiffres.
  • numeric : Affiche un clavier numérique 0-9
  • tel : Clavier numérique téléphonique, comprenant les chiffres 0-9, l'astérisque * ou le dièse #.
  • search : Clavier virtuel optimisé pour la saisie de recherche, le bouton de soumission affiche généralement search ou "Rechercher".
  • email : Clavier virtuel optimisé pour la saisie d'adresses e-mail, comprend généralement les touches @, ..
  • url : Clavier virtuel optimisé pour la saisie d'URL, comprend généralement les touches ., /, #.
validityValidityState-

État de validation du formulaire, voir ValidityState pour plus de détails

validationMessagestring-

Si la validation du formulaire échoue, cet attribut contient un message d'erreur. Si la validation réussit, cet attribut est une chaîne vide

valueAsNumbernumber-

Obtient la valeur actuelle et la convertit en type number ; ou définit une valeur de type number. Si la valeur ne peut pas être convertie en type number, renvoie NaN.

autofocusautofocusbooleanfalse

Si le focus doit être automatiquement obtenu après le chargement de la page

tabindextabIndexnumber-

Ordre de l'élément lors de la navigation au clavier avec la touche Tab

Méthodes

NomParamètresValeur de retour
select
void

Sélectionne le texte dans le champ de texte

setSelectionRange
  • start: number
  • end: number
  • direction: 'forward' | 'backward' | 'none'
void

Sélectionne une plage spécifique dans le champ de texte

setRangeText
  • replacement: string
  • start: number
  • end: number
  • selectMode: 'select' | 'start' | 'end' | 'preserve'
void

Remplace une plage spécifique de texte dans le champ de texte par un nouveau texte

checkValidity
boolean

Vérifie si le champ du formulaire est valide. Dans le cas contraire, renvoie false et déclenche l'événement invalid ; sinon, renvoie true.

reportValidity
boolean

Vérifie si le champ du formulaire est valide. Dans le cas contraire, renvoie false et déclenche l'événement invalid ; sinon, renvoie true.

Si la validation échoue, un message d'erreur s'affiche également sur le composant.

setCustomValidity
  • message: string
void

Définit un texte d'erreur personnalisé. Tant que ce texte n'est pas vide, cela signifie que le champ n'est pas valide.

click
void

Simule un clic sur l'élément

focus
  • options: FocusOptions (Optionnel)
void

Place le focus sur l'élément.

Vous pouvez passer un objet en paramètre, dont les propriétés incluent :

  • preventScroll : Par défaut, après la prise de focus, la page défile pour amener l'élément à l'écran. Si vous ne souhaitez pas que la page défile, vous pouvez définir cette propriété sur true.
blur
void

Retire le focus de l'élément

Événements

Nom
focus

Se déclenche lorsque l'élément obtient le focus

blur

Se déclenche lorsque l'élément perd le focus

change

Se déclenche lorsque la valeur du champ de texte change et que le champ perd le focus

input

Se déclenche lorsque la valeur du champ de texte change

invalid

Se déclenche lorsque la validation du champ du formulaire échoue

clear

Se déclenche lors du clic sur le bouton d'effacement généré par l'attribut clearable. Vous pouvez empêcher l'effacement du champ de texte en appelant event.preventDefault().

Slots

Nom
icon

Icône de gauche

end-icon

Icône de droite

error-icon

Icône de droite à l'état d'échec de validation

prefix

Texte de gauche

suffix

Texte de droite

clear-button

Bouton d'effacement

clear-icon

Icône dans le bouton d'effacement

toggle-password-button

Bouton de basculement de l'affichage du mot de passe

show-password-icon

Icône dans le bouton de basculement de l'affichage du mot de passe à l'état affiché (texte clair)

hide-password-icon

Icône dans le bouton de basculement de l'affichage du mot de passe à l'état masqué

helper

Texte d'aide en bas

CSS Parts

Nom
container

Conteneur du champ de texte

icon

Icône de gauche

end-icon

Icône de droite

error-icon

Icône de droite à l'état d'échec de validation

prefix

Texte de gauche

suffix

Texte de droite

label

Texte de l'étiquette au-dessus

input

Élément <input> ou <textarea> interne

clear-button

Bouton d'effacement

clear-icon

Icône dans le bouton d'effacement

toggle-password-button

Bouton de basculement de l'affichage du mot de passe

show-password-icon

Icône dans le bouton de basculement de l'affichage du mot de passe à l'état affiché (texte clair)

hide-password-icon

Icône dans le bouton de basculement de l'affichage du mot de passe à l'état masqué

supporting

Conteneur des informations auxiliaires en bas, y compris l'aide, l'erreur et le compteur

helper

Texte d'aide en bas

error

Texte de description d'erreur en bas

counter

Compteur de caractères à droite en bas

Sur cette page