L'entrée checkbox
utilise l'entrée de case à cocher native HTML. Elle peut afficher une ou plusieurs options à un utilisateur et est un excellent moyen de permettre aux utilisateurs de sélectionner plusieurs éléments d'une liste. FormKit prend en charge à la fois les entrées de case à cocher simples et multiples.
Par défaut, le type de case à cocher affichera une seule case à cocher et utilisera des valeurs boolean
. Pour qu'une case à cocher unique soit cochée — la valeur actuelle de l'entrée doit correspondre à la valeur-activée
de cette entrée (par défaut, une case à cocher unique utilise true
comme valeur-activée
).
Afin d'améliorer la cohérence de l'API pour toutes les entrées FormKit — FormKit utilise la valeur
comme état initial de l'entrée. La prop/attribut checked
ne doit pas être utilisée directement.
Pour afficher plusieurs cases à cocher avec une seule entrée, utilisez la prop options
. Les options peuvent être spécifiées de 3 manières :
étiquette
et valeur
(comme pour les entrées select et radio)La valeur d'une entrée de case à cocher avec plusieurs options
est un tableau des valeurs sélectionnées.
La manière la plus simple de fournir des options est un tableau de chaînes de caractères. Les chaînes fournies seront utilisées à la fois pour l'étiquette et la valeur de l'option.
Vous pouvez également fournir la prop options
où les clés sont des valeurs et les valeurs de chaque propriété sont des étiquettes.
La manière la plus flexible de définir des options est de fournir un tableau d'objets. Les objets doivent inclure des propriétés valeur
et étiquette
— mais peuvent également inclure une propriété aide
ainsi qu'un objet attrs
d'attributs supplémentaires à appliquer à chaque balise d'entrée de case à cocher.
Prop | Type | Par défaut | Description |
---|---|---|---|
decorator-icon | String | ’’ | Spécifie une icône à placer dans la section decoratorIcon . S'affiche lorsque la case à cocher est cochée. Par défaut, l'icône checkboxDecorator . |
options | Array/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. |
on-value | any | true | La valeur lorsque la case à cocher est cochée (uniquement pour les cases à cocher simples). |
off-value | any | false | La valeur lorsque la case à cocher est décochée (uniquement pour les cases à cocher simples). |
Afficher Universel props | |||
config | Object | {} | Options de configuration à fournir au nœud d'entrée et à tout nœud descendant de cette entrée. |
delay | Number | 20 | Nombre 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é. |
dirtyBehavior | string | touched | Détermine comment le drapeau "dirty" de cette entrée est défini. Peut être défini sur touched ou compare — touched (par défaut) est plus performant, mais ne détectera pas lorsque le formulaire correspond à nouveau à son état initial. |
errors | Array | [] | Tableau de chaînes à afficher comme messages d'erreur sur ce champ. |
help | String | '' | Texte pour le texte d'aide associé à l'entrée. |
id | String | input_{n} | L'identifiant unique de l'entrée. Fournir un identifiant permet également d'accéder globalement au nœud de l'entrée. |
ignore | Boolean | false | Empê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. |
index | Number | undefined | Permet 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é. |
label | String | '' | Texte pour l'élément label associé à l'entrée. |
name | String | input_{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. |
parent | FormKitNode | contextual | Par 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-icon | String | '' | Spécifie une icône à placer dans la section prefixIcon . |
preserve | boolean | false | Conserve la valeur de l'entrée sur un groupe parent, une liste ou un formulaire lorsque l'entrée est démontée. |
preserve-errors | boolean | false | Par 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-schema | Object | {} | 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-icon | String | '' | Spécifie une icône à placer dans la section suffixIcon . |
type | String | text | Le type d'entrée à afficher à partir de la bibliothèque. |
validation | String, Array | [] | Les règles de validation à appliquer à l'entrée. |
validation-visibility | String | blur | Détermine quand afficher les règles de validation en échec d'une entrée. Les valeurs valides sont blur , dirty et live . |
validation-label | String | {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-rules | Object | {} | Règles de validation personnalisées supplémentaires à rendre disponibles pour la propriété de validation. |
value | Any | undefined | Initialise la valeur initiale d'une entrée et/ou de ses enfants. Non réactif. Peut initialiser des groupes entiers (formulaires) et des listes.. |
La construction de l'entrée pour une case à cocher diffère selon qu'il s'agit d'une case à cocher simple 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.
Section-key | Description |
---|---|
decorator | Responsable de l'élément immédiatement après l'élément d'entrée — généralement utilisé pour le style des cases à cocher personnalisées. |
decoratorIcon | Un élément contenant l'icône de décorateur. |
legend | Responsable de l'élément de légende du fieldset. |
fieldset | Responsable du fieldset lorsque plusieurs options sont disponibles. |
option | Responsable de l'enveloppe autour de chaque élément dans les options. |
options | Responsable de l'élément d'enveloppe autour de tous les éléments d'option. |
Afficher Universel section keys | |
outer | L'élément d'enrobage le plus externe. |
wrapper | Un enrobage autour de l'étiquette et de l'entrée. |
label | L'étiquette de l'entrée. |
prefix | N'a pas de sortie par défaut, mais permet du contenu directement avant un élément d'entrée. |
prefixIcon | Un élément pour afficher une icône avant la section de préfixe. |
inner | Un enrobage autour de l'élément d'entrée réel. |
suffix | N'a pas de sortie par défaut, mais permet du contenu directement après un élément d'entrée. |
suffixIcon | Un élément pour afficher une icône après la section de suffixe. |
input | L'élément d'entrée lui-même. |
help | L'élément contenant le texte d'aide. |
messages | Un enrobage autour de tous les messages. |
message | L'élément (ou plusieurs éléments) contenant un message — le plus souvent des messages de validation et d'erreur. |
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 :
Clé de Section | Attribut | Par défaut | Description |
---|---|---|---|
decorator | aria-hidden | true | Cache le décorateur aux lecteurs d'écran. |
Afficher Universel clé de section | |||
label | label | for | Associe cela à un élément de saisie, améliorant l'accessibilité et l'expérience utilisateur |
input | input | disabled | Désactive un élément HTML, empêchant l'interaction de l'utilisateur et signalant un état non interactif |
aria-describedby | Améliore l'accessibilité en associant un élément à une description, facilitant la lecture par les lecteurs d'écran | ||
aria-required | Ajoute l'état requis lorsque la validation est requise. | ||
icon | icon | for | Chaque 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 |
Clé de Section | Attribut | Par défaut | Description |
---|---|---|---|
fieldset | aria-describedby | Associe un élément à une description, aidant les lecteurs d'écran. | |
decorator | aria-hidden | true | Cache le décorateur aux lecteurs d'écran. |
Afficher Universel clé de section | |||
label | label | for | Associe cela à un élément de saisie, améliorant l'accessibilité et l'expérience utilisateur |
input | input | disabled | Désactive un élément HTML, empêchant l'interaction de l'utilisateur et signalant un état non interactif |
aria-describedby | Améliore l'accessibilité en associant un élément à une description, facilitant la lecture par les lecteurs d'écran | ||
aria-required | Ajoute l'état requis lorsque la validation est requise. | ||
icon | icon | for | Chaque 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 |
Événement clavier | Description |
---|---|
Space | Permet de basculer la case à cocher lorsque l'entrée est en focus. |
Afficher Universel événement clavier | |
Tab | Déplace le focus vers la prochaine entrée pouvant être ciblée sur la page. |
Shift + Tab | Déplace le focus vers l'entrée précédente pouvant être ciblée sur la page. |