Gruppo radio
Il Gruppo Radio consente agli utenti di selezionare un’opzione da un insieme. È utile per scenari di selezione esclusiva dove è consentita una sola scelta.
Ogni elemento del gruppo radio è rappresentato da un componente RadioGroupItem e tipicamente avvolto da un componente Label.
Utilizzo
Sezione intitolata “Utilizzo”Per usare RadioGroup e RadioGroupItem, importali dai tuoi componenti e struttura le opzioni usando RadioGroup come contenitore e RadioGroupItem per ogni opzione.
Gruppo radio di base
Sezione intitolata “Gruppo radio di base”Un esempio base di un gruppo radio, che consente una selezione semplice.
import React from "react";import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function RadioGroupBasicDemo() { return ( <RadioGroup onValueChange={(value) => console.log(value)}> <Label className="flex items-center gap-2" htmlFor="color-black"> <RadioGroupItem id="color-black" value="black"/> Black </Label> <Label className="flex items-center gap-2" htmlFor="color-white"> <RadioGroupItem id="color-white" value="white"/> White </Label> <Label className="flex items-center gap-2" htmlFor="color-blue"> <RadioGroupItem id="color-blue" value="blue"/> Blue </Label> </RadioGroup> );}Personalizzazione dell’aspetto degli elementi del gruppo radio
Sezione intitolata “Personalizzazione dell’aspetto degli elementi del gruppo radio”Questo esempio dimostra come personalizzare l’aspetto dei singoli elementi del gruppo radio.
import React from "react";import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function RadioGroupCustomDemo() { return ( <RadioGroup onValueChange={(value) => console.log(value)}> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="size-small"> <RadioGroupItem id="size-small" value="small"/> Small </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="size-medium"> <RadioGroupItem id="size-medium" value="medium"/> Medium </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="size-large"> <RadioGroupItem id="size-large" value="large"/> Large </Label> </RadioGroup> );}Gruppo radio disabilitato
Sezione intitolata “Gruppo radio disabilitato”Come disabilitare l’intero gruppo radio o singoli elementi al suo interno.
import React from "react";import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function RadioGroupDisabledDemo() { return ( <RadioGroup className="flex items-center gap-2" defaultValue="black" id="color"> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="color-black" > <RadioGroupItem id="color-black" value="black"/> Black </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="color-white" > <RadioGroupItem id="color-white" value="white" disabled/> White </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="color-blue" > <RadioGroupItem id="color-blue" value="blue"/> Blue </Label> </RadioGroup> );}