Skip to content

Radio

Le composant Radio fournit un bouton radio stylisé avec un label optionnel. Il gère la sélection via v-model et émet automatiquement la valeur sélectionnée.


Props

PropTypeDefaultDescription
idString, Number'radio'Identifiant unique du champ.
modelValueString, Number, BooleannullValeur actuelle sélectionnée (utilisé avec v-model).
labelString''Texte affiché à côté du bouton radio.
nameString''Attribut name du bouton radio, identifiant le groupe.
valueString, Number, BooleanrequisValeur associée à ce bouton radio.
disabledBooleanfalseDésactive la sélection si vrai.

États visuels

ÉtatDescription
NormalBouton décoché avec bordure neutre.
SélectionnéBouton rempli lorsque modelValue correspond à value.
DésactivéBouton grisé et non interactif si disabled est vrai.

Le style inclut un focus stylisé avec ring et supporte le mode sombre.


Slots

Le composant n’utilise pas de slot : tout est rendu à partir des props.


Utilisation

Bouton radio simple

vue
<Radio v-model="selectedOption" value="option1" label="Option 1" />
<Radio v-model="selectedOption" value="option2" label="Option 2" />

Bouton radio désactivé

vue
<Radio v-model="selectedOption" value="option3" label="Option 3" disabled />

Groupe de boutons radio

vue
<Radio v-model="color" value="red" label="Rouge" name="colors" />
<Radio v-model="color" value="blue" label="Bleu" name="colors" />
<Radio v-model="color" value="green" label="Vert" name="colors" />

Fonctionnement interne

  • Réactivité :
    • Le composant utilise v-model via l’événement update:modelValue.
    • La fonction interne select émet value uniquement si le bouton n’est pas désactivé.