Selección múltiple (MultiSelect)
MultiSelect (Selección múltiple) permite a los usuarios seleccionar múltiples opciones de una lista desplegable. Admite estados de apertura y cierre, renderizado de valores personalizados y navegación por teclado, entre otras características.
Para usar MultiSelect, impórtalo junto con su componente de elemento (MultiSelectItem). Puedes pasar props como value (valor), onMultiValueChange (al cambiar valor múltiple), size (tamaño), label (etiqueta), disabled (deshabilitado) y muchas más para personalizar su comportamiento y apariencia.
Selección múltiple básica
Sección titulada «Selección múltiple básica»Un ejemplo sencillo que demuestra el uso básico del componente MultiSelect.
import * as React from "react";import { MultiSelect, MultiSelectItem } from "@firecms/ui";
export default function MultiSelectBasicDemo() { const [selectedValues, setSelectedValues] = React.useState<string[]>([]);
return ( <MultiSelect value={selectedValues} onValueChange={setSelectedValues} label="Basic MultiSelect"> <MultiSelectItem value="option1">Option 1</MultiSelectItem> <MultiSelectItem value="option2">Option 2</MultiSelectItem> <MultiSelectItem value="option3">Option 3</MultiSelectItem> </MultiSelect> );}Renderizado de valor personalizado
Sección titulada «Renderizado de valor personalizado»Este ejemplo muestra cómo personalizar el renderizado de los valores seleccionados.
import * as React from "react";import { MultiSelect, MultiSelectItem } from "@firecms/ui";
export default function MultiSelectCustomRenderDemo() { const [selectedValues, setSelectedValues] = React.useState<string[]>([]);
return ( <MultiSelect value={selectedValues} onValueChange={setSelectedValues} label="Custom Render MultiSelect" renderValues={(values) => (values.map((value, index) => <span key={index} style={{ marginRight: 8, background: "#eee", padding: 4 }}> {value} </span>) )}> <MultiSelectItem value="red">Red</MultiSelectItem> <MultiSelectItem value="green">Green</MultiSelectItem> <MultiSelectItem value="blue">Blue</MultiSelectItem> </MultiSelect> );}Manejo del estado deshabilitado
Sección titulada «Manejo del estado deshabilitado»Un ejemplo para demostrar un componente MultiSelect en estado deshabilitado.
import * as React from "react";import { MultiSelect, MultiSelectItem } from "@firecms/ui";
export default function MultiSelectDisabledDemo() { return ( <MultiSelect disabled label="Disabled MultiSelect" value={["option1"]} renderValues={(values) => (values.map((value) => <span key={value} style={{ marginRight: 8, background: "#eee", padding: 4 }}> {value} </span>) )}> <MultiSelectItem value="option1">Option 1</MultiSelectItem> <MultiSelectItem value="option2">Option 2 is disabled</MultiSelectItem> <MultiSelectItem value="option3">Option 3 is disabled</MultiSelectItem> </MultiSelect> );}