Toggle Buttons

View pricing →

Démarrage rapide de l'installation Pro :rocket:

Boutons bascule

Pour afficher plusieurs boutons bascule, utilisez la propriété options. Les options peuvent être spécifiées de 3 manières :

  • Un tableau de chaînes de caractères
  • Un objet de paires valeur/étiquette
  • Un tableau d'objets avec les propriétés label et value (comme pour les entrées select et radio).
    • Des paramètres supplémentaires peuvent être passés pour définir disabled, help, onLabel et/ou offLabel pour chaque option.
Charger l'exemple en direct

Propriétés comportementales

Multiple

Par défaut, l'entrée togglebuttons ne permet de sélectionner qu'une seule option. Vous pouvez changer ce comportement en définissant la propriété multiple qui permettra alors la sélection de plusieurs options :

Charger l'exemple en direct

Imposé

Par défaut, togglebuttons vous permet de sélectionner et de désélectionner, autorisant ainsi un état désactivé. Avec la propriété enforced activée, une fois qu'un utilisateur a interagi avec l'entrée, une valeur sera toujours définie, un peu comme celle d'une entrée radio.

Charger l'exemple en direct

Vertical

En supposant que vous utilisez les styles FormKit par défaut, la propriété vertical applique des attributs de dataset et un style pour empiler les boutons bascule dans une orientation verticale.

Charger l'exemple en direct

Plus d'exemples de propriétés et de combinaisons :

Charger l'exemple en direct

Bascule autonome

Exemple basique autonome

L'entrée togglebuttons offre des choix entre une ou plusieurs valeurs ; c'est une excellente option lorsque vous souhaitez que l'utilisateur active ou désactive une fonctionnalité, choisisse entre des options ou autorise plusieurs sélections.

Charger l'exemple en direct

Valeurs On/Off de la bascule autonome

Les valeurs pour les boutons bascule sont undefined si non-interagi, true si coché, et false si décoché. Vous pouvez changer ces valeurs en passant les propriétés onValue et offValue. Dans cet exemple, nous allons définir onValue à la chaîne 'active' et offValue à la chaîne 'inactive' :

Charger l'exemple en direct

Étiquettes indépendantes On/Off

De plus, vous pouvez spécifier des étiquettes secondaires en définissant les propriétés on-label et off-label. Ces valeurs sont affichées conditionnellement en fonction de l'état activé/désactivé du basculeur. Les étiquettes de valeur se rendent à droite de l'entrée du basculeur. L'"étiquette principale" sera déplacée à la position de l'étiquette d'entrée au-dessus du basculeur lorsque des étiquettes de valeur sont utilisées :

Charger l'exemple en direct

Slots

Slots de Bouton Basculeur

Pour plusieurs options, vous pouvez utiliser le slot default pour définir le contenu du basculeur.

Charger l'exemple en direct

Slots de Basculeur Indépendant

Pour un seul basculeur, vous pouvez utiliser le slot par défaut pour définir le contenu du basculeur. Les slots on et off sont également disponibles pour changer le contenu en fonction de l'activation ou non du basculeur.

Charger l'exemple en direct

Props & Attributs

PropTypePar défautDescription
off-valueanyfalseLa valeur lorsque le basculeur n'est pas coché.
À utiliser uniquement avec des boutons basculeurs indépendants.
on-valueanytrueLa valeur lorsque le basculeur est coché.
À utiliser uniquement avec des boutons basculeurs indépendants.
off-labelStringundefinedLe texte de l'étiquette du bouton lorsque le basculeur n'est pas coché.
À utiliser uniquement avec des boutons basculeurs indépendants.
on-labelStringundefinedLe texte de l'étiquette du bouton lorsque le basculeur est coché.
À utiliser uniquement avec des boutons basculeurs indépendants.
optionsArray/Object[]Un objet de paires valeur/étiquette ou un tableau de chaînes de caractères, ou un tableau d'objets qui doivent contenir une propriété d'étiquette et de valeur. Les propriétés supplémentaires incluent : disabled, help, onLabel et offLabel
multipleBooleanfalsePermet de sélectionner plusieurs options.
À utiliser uniquement avec plusieurs boutons basculeurs.
enforcedBooleanfalseAssure qu'au moins une sélection reste choisie une fois le champ activé.
À utiliser uniquement avec plusieurs boutons basculeurs.
verticalBooleanfalseApplique des attributs de données et un style pour empiler les boutons basculeurs dans une orientation verticale.
À utiliser uniquement avec plusieurs boutons basculeurs.
Afficher Universel props
configObject{}Options de configuration à fournir au nœud d'entrée et à tout nœud descendant de cette entrée.
delayNumber20Nombre de millisecondes à attendre avant que la valeur d'une entrée ne soit déclenchée avant que le commit hook ne soit déclenché.
dirtyBehaviorstringtouchedDétermine comment le drapeau "dirty" de cette entrée est défini. Peut être défini sur touched ou comparetouched (par défaut) est plus performant, mais ne détectera pas lorsque le formulaire correspond à nouveau à son état initial.
errorsArray[]Tableau de chaînes à afficher comme messages d'erreur sur ce champ.
helpString''Texte pour le texte d'aide associé à l'entrée.
idStringinput_{n}L'identifiant unique de l'entrée. Fournir un identifiant permet également d'accéder globalement au nœud de l'entrée.
ignoreBooleanfalseEmpêche une entrée d'être incluse dans un parent (groupe, liste, formulaire, etc). Utile lors de l'utilisation d'entrées pour l'interface utilisateur au lieu de valeurs réelles.
indexNumberundefinedPermet d'insérer une entrée à l'index donné si le parent est une liste. Si la valeur de l'entrée est indéfinie, elle hérite de la valeur de cette position d'index. Si elle a une valeur, elle l'insère dans les valeurs de la liste à l'index donné.
labelString''Texte pour l'élément label associé à l'entrée.
nameStringinput_{n}Le nom de l'entrée tel qu'identifié dans l'objet de données. Cela doit être unique au sein d'un groupe de champs.
parentFormKitNodecontextualPar défaut, le parent est un groupe d'enrobage, une liste ou un formulaire — mais cette propriété permet une affectation explicite du nœud parent.
prefix-iconString''Spécifie une icône à placer dans la section prefixIcon.
preservebooleanfalseConserve la valeur de l'entrée sur un groupe parent, une liste ou un formulaire lorsque l'entrée est démontée.
preserve-errorsbooleanfalsePar défaut, les erreurs définies sur les entrées à l'aide de setErrors sont automatiquement effacées lors de l'entrée, en définissant cette propriété sur true, l'erreur est maintenue jusqu'à ce qu'elle soit explicitement effacée.
sections-schemaObject{}Un objet de clés de section et de valeurs partielles de schéma, où chaque partie de schéma est appliquée à la section respective.
suffix-iconString''Spécifie une icône à placer dans la section suffixIcon.
typeStringtextLe type d'entrée à afficher à partir de la bibliothèque.
validationString, Array[]Les règles de validation à appliquer à l'entrée.
validation-visibilityStringblurDétermine quand afficher les règles de validation en échec d'une entrée. Les valeurs valides sont blur, dirty et live.
validation-labelString{label prop}Détermine quelle étiquette utiliser dans les messages d'erreur de validation, par défaut, elle utilise la propriété label si elle est disponible, sinon elle utilise la propriété name.
validation-rulesObject{}Règles de validation personnalisées supplémentaires à rendre disponibles pour la propriété de validation.
valueAnyundefinedInitialise la valeur initiale d'une entrée et/ou de ses enfants. Non réactif. Peut initialiser des groupes entiers (formulaires) et des listes..

Sections

Les boutons à bascule ont une construction différente selon qu'il s'agit d'une configuration unique ou multiple.

Vous pouvez cibler une section spécifique d'une entrée en utilisant la "key" de cette section, ce qui vous permet de modifier les classes de cette section, le HTML (via :sections-schema) ou le contenu (via des emplacements)). En savoir plus sur les sections ici.

Schéma du bouton à bascule unique

Texte du bouton à bascule ici
Ajoutez du texte d'aide à propos de ce bascule
Le message de validation serait ici

Schéma des boutons à bascule multiples

Texte du bouton à bascule ici
Ajoutez du texte d'aide à propos de ce bascule
Le message de validation serait ici
Section-keyDescription
singleToggleEnveloppe du bouton pour le bouton à bascule unique
multiToggleEnveloppe du bouton pour un bouton à bascule lorsque plusieurs boutons à bascule existent
inputInnerTexte intérieur du bouton pour un bouton à bascule
optionResponsable de l'enveloppe autour de chaque élément dans les options.
optionsResponsable de l'élément enveloppe autour de tous les éléments d'option.
Afficher Universel section keys
outerL'élément d'enrobage le plus externe.
wrapperUn enrobage autour de l'étiquette et de l'entrée.
labelL'étiquette de l'entrée.
prefixN'a pas de sortie par défaut, mais permet du contenu directement avant un élément d'entrée.
prefixIconUn élément pour afficher une icône avant la section de préfixe.
innerUn enrobage autour de l'élément d'entrée réel.
suffixN'a pas de sortie par défaut, mais permet du contenu directement après un élément d'entrée.
suffixIconUn élément pour afficher une icône après la section de suffixe.
inputL'élément d'entrée lui-même.
helpL'élément contenant le texte d'aide.
messagesUn enrobage autour de tous les messages.
messageL'élément (ou plusieurs éléments) contenant un message — le plus souvent des messages de validation et d'erreur.

Accessibilité

Tous les champs de saisie FormKit sont conçus en tenant compte des considérations d'accessibilité suivantes. Aidez-nous à améliorer continuellement l'accessibilité pour tous en signalant les problèmes d'accessibilité ici :

Balises sémantiquesAttributs AriaAccessible au clavierIndicateurs de focusContraste des couleurs avec le thème fourniÉtiquettes accessibles, texte d'aide et erreurs

Bouton bascule unique

Clé de SectionAttributPar défautDescription
singleTogglearia-labelFournit un nom accessible.
aria-pressedIndique l'état enfoncé du bouton bascule.
rolecheckboxIndique aux technologies d'assistance que cet élément fonctionne comme une case à cocher.
Afficher Universel clé de section
labellabelforAssocie cela à un élément de saisie, améliorant l'accessibilité et l'expérience utilisateur
inputinputdisabledDésactive un élément HTML, empêchant l'interaction de l'utilisateur et signalant un état non interactif
aria-describedbyAméliore l'accessibilité en associant un élément à une description, facilitant la lecture par les lecteurs d'écran
aria-requiredAjoute l'état requis lorsque la validation est requise.
iconiconforChaque fois qu'une icône est définie comme libellé, elle la relie à un élément de saisie, améliorant l'accessibilité et l'expérience utilisateur

Boutons bascule multiples

Clé de SectionAttributPar défautDescription
multiTogglearia-labelFournit un nom accessible.
aria-pressedIndique l'état enfoncé du bouton bascule.
rolecheckbox or radioIndique aux technologies d'assistance que cet élément fonctionne comme une case à cocher s'il a des options ou comme un bouton radio sinon.
optionsrolegroupIndique aux technologies d'assistance que cet élément fonctionne comme un groupe.
aria-labelledbyAssocie cet élément comme étiquette pour l'entrée.
optionrolelistitemIndique aux technologies d'assistance que cet élément fonctionne comme un élément de liste.
Afficher Universel clé de section
labellabelforAssocie cela à un élément de saisie, améliorant l'accessibilité et l'expérience utilisateur
inputinputdisabledDésactive un élément HTML, empêchant l'interaction de l'utilisateur et signalant un état non interactif
aria-describedbyAméliore l'accessibilité en associant un élément à une description, facilitant la lecture par les lecteurs d'écran
aria-requiredAjoute l'état requis lorsque la validation est requise.
iconiconforChaque fois qu'une icône est définie comme libellé, elle la relie à un élément de saisie, améliorant l'accessibilité et l'expérience utilisateur

Interactions au clavier

Événement clavierDescription
TabDéplace le focus vers la prochaine entrée pouvant être ciblée sur la page.
Shift + TabDéplace le focus vers l'entrée précédente pouvant être ciblée sur la page.