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

Select

Le composant Select propose une liste déroulante d'options pour une sélection rapide.

Cette page traite principalement de l'utilisation de <mdui-select>. Pour l'utilisation des éléments de menu, consultez <mdui-menu-item>.

Utilisation

Importez les composants selon vos besoins :

import 'mdui/components/select.js';
import 'mdui/components/menu-item.js';

Importez les types TypeScript correspondants :

import type { Select } from 'mdui/components/select.js';
import type { MenuItem } from 'mdui/components/menu-item.js';

Exemple d'utilisation :

Élément 1 Élément 2
<mdui-select value="item-1">
  <mdui-menu-item value="item-1">Élément 1</mdui-menu-item>
  <mdui-menu-item value="item-2">Élément 2</mdui-menu-item>
</mdui-select>

Exemples

Variante

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

Sélection multiple

Par défaut, la sélection est unique. La value de <mdui-select> correspond à la value de l'option sélectionnée.

Pour permettre la sélection multiple, ajoutez l'attribut multiple. La value devient alors un tableau contenant les value des options sélectionnées.

Remarque : en mode multiple, la value est un tableau et ne peut être lue ou modifiée que via la propriété JavaScript.

Texte d'aide

Utilisez l'attribut label pour afficher un texte au-dessus du Select.

Utilisez placeholder pour afficher un exemple de saisie.

Utilisez helper ou le slot helper pour afficher un message d'aide en dessous.

Lecture seule

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

Désactivé

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

Effaçable

Ajoutez l'attribut clearable pour afficher un bouton d'effacement lorsqu'une valeur est sélectionnée.

Personnalisez le bouton à l'aide du slot clear.

Position du menu déroulant

Utilisez l'attribut placement pour définir la position du menu déroulant.

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 des éléments personnalisés.

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 Select a le focus ou contient une valeur.

API

Propriétés

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

Style du Select. Les valeurs possibles incluent :

  • filled : Select avec couleur de fond, effet visuel fort
  • outlined : Select avec bordure, effet visuel plus faible
multiplemultiplebooleanfalse

Si la sélection multiple est prise en charge

namenamestring''

Nom du Select, qui sera envoyé avec les données du formulaire

valuevaluestring | string[]''

Valeur du Select, qui sera envoyée avec les données du formulaire.

Si l'attribut multiple n'est pas spécifié, cette valeur est une chaîne de caractères ; si l'attribut multiple est spécifié, cette valeur est un tableau de chaînes de caractères. L'attribut HTML ne peut définir qu'une valeur de chaîne ; si vous devez définir une valeur de tableau, définissez-la via la propriété JavaScript.

defaultValuestring | string[]''

Valeur sélectionnée 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 Select. Peut également être défini via slot="helper".

clearableclearablebooleanfalse

Si le Select peut être vidé

clear-iconclearIconstring-

Lorsque le Select 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".

placementplacement'auto' | 'bottom' | 'top''auto'

Position du Select. Les valeurs possibles incluent :

  • auto : Position déterminée automatiquement
  • bottom : En bas
  • top : En haut
end-alignedendAlignedbooleanfalse

Si le texte doit être aligné à droite

prefixprefixstring-

Texte de préfixe du Select. N'est affiché qu'à l'état de focus ou lorsque le Select a une valeur. Peut également être défini via slot="prefix".

suffixsuffixstring-

Texte de suffixe du Select. N'est affiché qu'à l'état de focus ou lorsque le Select 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 Select. Peut également être défini via slot="icon".

end-iconendIconstring-

Nom de l'icône Material Icons pour l'icône de suffixe du Select. 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 Select. 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 composant est désactivé

requiredrequiredbooleanfalse

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

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

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
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 sélectionnée 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 Select en appelant event.preventDefault().

Slots

Nom
Défaut

Éléments <mdui-menu-item>

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

helper

Texte d'aide en bas

CSS Parts

Nom
chips

Conteneur des chips correspondant aux valeurs sélectionnées en sélection multiple

chip

Chip correspondant à chaque valeur sélectionnée en sélection multiple

chip__button

Élément <button> dans la chip

chip__label

Texte de la chip

chip__delete-icon

Icône de suppression de la chip

text-field

Champ de texte, c'est-à-dire l'élément <mdui-text-field>

text-field__container

Conteneur du champ de texte

text-field__icon

Icône de gauche du champ de texte

text-field__end-icon

Icône de droite du champ de texte

text-field__error-icon

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

text-field__prefix

Texte de gauche du champ de texte

text-field__suffix

Texte de droite du champ de texte

text-field__label

Texte de l'étiquette du champ de texte

text-field__input

Élément <input> du champ de texte

text-field__clear-button

Bouton d'effacement du champ de texte

text-field__clear-icon

Icône du bouton d'effacement du champ de texte

text-field__supporting

Conteneur des informations auxiliaires en bas du champ de texte, y compris l'aide et l'erreur

text-field__helper

Texte d'aide en bas du champ de texte

text-field__error

Texte de description d'erreur en bas du champ de texte

menu

Dropdown, c'est-à-dire l'élément <mdui-menu>

Sur cette page