Select
Select est un composant de liste déroulante qui permet aux utilisateurs de choisir une option parmi une liste. Il est basé sur Radix UI pour l’accessibilité et la personnalisation.
Utilisation
Section intitulée « Utilisation »Importez Select et SelectItem depuis @firecms/ui et passez les props value et onValueChange.
Select de base
Section intitulée « Select de base »Un exemple simple du composant Select.
import React from "react";import { Select, SelectItem } from "@firecms/ui";
export default function SelectBasicDemo() { const [selected, setSelected] = React.useState<string>();
return ( <Select value={selected} size={"large"} onValueChange={setSelected} placeholder={<i>Select a character</i>} renderValue={(value) => { if (value === "homer") { return "Homer"; } else if (value === "marge") { return "Marge"; } else if (value === "bart") { return "Bart"; } else if (value === "lisa") { return "Lisa"; } throw new Error("Invalid value"); }} > <SelectItem value="homer">Homer</SelectItem> <SelectItem value="marge">Marge</SelectItem> <SelectItem value="bart">Bart</SelectItem> <SelectItem value="lisa">Lisa</SelectItem> </Select> );}Select avec rendu personnalisé
Section intitulée « Select avec rendu personnalisé »Cet exemple montre comment personnaliser le rendu de l’élément sélectionné.
import React from "react";import { Chip, Select, SelectItem } from "@firecms/ui";
const beverages = { coffee: "Coffee", tea: "Tea", juice: "Juice", soda: "Soda", water: "Water"}
export default function SelectCustomDemo() { const [selected, setSelected] = React.useState("");
return ( <Select value={selected} onValueChange={setSelected} size="medium" className="w-[400px] bg-yellow-200 dark:bg-yellow-800" inputClassName="custom-input-class" placeholder="Select your drinks" renderValue={(value) => { return <Chip key={value}>{beverages[value]}</Chip>; }} > {Object.entries(beverages).map(([value, label]) => ( <SelectItem key={value} value={value}> {label} </SelectItem> ))} </Select> );}Select désactivé
Section intitulée « Select désactivé »Un exemple du composant Select dans un état désactivé.
import React from "react";import { Select, SelectItem, SelectGroup } from "@firecms/ui";
export default function SelectGroupDemo() { const [selected, setSelected] = React.useState("");
return ( <Select size={"large"} value={selected} onValueChange={setSelected} placeholder="Select an option" > <SelectGroup label="Group 1"> <SelectItem value="option1-1">Option 1-1</SelectItem> <SelectItem value="option1-2">Option 1-2</SelectItem> </SelectGroup> <SelectGroup label="Group 2"> <SelectItem value="option2-1">Option 2-1</SelectItem> <SelectItem value="option2-2">Option 2-2</SelectItem> </SelectGroup> </Select> );}