Case à cocher
Un choix qu'un envoi exécutera, à la différence d'un interrupteur, qui agit sur-le-champ. Elle enveloppe un vrai <input type="checkbox">, donc elle s'envoie avec le formulaire.
Utilisation
Exemples
Aide
label écrit le texte à côté de la case, et le slot par défaut le remplace quand le libellé demande plus que du texte. hint ajoute une légende en dessous, reliée à la case par aria-describedby et gardée hors du <label> : elle est annoncée comme une description et non comme une partie du nom.
Position du libellé
labelPosition place le libellé avant la case plutôt qu'après.
Écartement
spread prend toute la largeur offerte et pousse le libellé et la case aux deux extrémités de la ligne.
Indéterminé
indeterminate affiche un tiret à la place de la coche. C'est une apparence à part : le v-model contient toujours true ou false.
Lecture seule
readonly montre l'état sans permettre de le changer. L'attribut natif n'a aucun effet sur une case à cocher, donc le composant annule le clic, ce qui couvre aussi la barre d'espace. La case reste focalisable, s'envoie avec son formulaire et est annoncée en lecture seule. Elle participe toujours à la validation de contrainte, cela dit, donc readonly avec required et rien de coché laisse un formulaire impossible à envoyer comme à corriger.
Désactivé
disabled empêche de cocher la case et la grise par les tokens de couleur. Le clavier l'enjambe.
API
Props
| Prop | Type | Défaut |
|---|---|---|
label | string | aucune |
| Le texte à côté de la case, qui la nomme. Le slot par défaut le remplace. | ||
hint | string | aucune |
| Une ligne d'aide sous le libellé. Elle est reliée à la case pour les technologies d'assistance, qui la lisent après le libellé et non comme une partie de celui-ci. | ||
indeterminate | boolean | false |
| Affiche la case comme partiellement cochée, un tiret au lieu d'une coche. C'est l'allure d'une case parente dont certains enfants sont cochés et d'autres non. C'est un état à part, pas une valeur que le v-model peut porter. | ||
labelPosition | CheckboxLabelPosition'start' | 'end' | 'end' |
| De quel côté de la case se place le libellé. | ||
spread | boolean | false |
| Pousse le libellé et la case aux extrémités opposées de la ligne, qui prend toute la largeur disponible. C'est la forme habituelle d'une liste de réglages. | ||
invalid | boolean | false |
| Marque le champ comme invalide, ce qui colore la case et le signale aux technologies d'assistance. À utiliser pour une règle que le navigateur ne sait pas vérifier seul ; la validité native est déjà prise en charge sans elle. | ||
disabled | boolean | false |
| Rend la case inutilisable, grisée par les tokens de couleur. | ||
readonly | boolean | false |
| Montre l'état sans permettre de le changer. La case reste focalisable, est annoncée en lecture seule et s'envoie toujours avec son formulaire ; un clic ou la barre d'espace ne changent simplement rien. | ||
v-model | boolean | false |
Si la case est cochée. Elle part décochée, et le tiret est une troisième apparence plutôt qu'une troisième valeur : celle-là, c'est indeterminate. | ||
Slots
| Slot | Type |
|---|---|
default | {} |
Le libellé, quand il demande plus que le texte de la prop label. Il est cliquable. | |
Variables CSS
| Token | Valeur |
|---|---|
--vectis-control-size-check | 1.25rem |
--vectis-control-size-check-mark | 0.875rem |