Saltar al contenido principal

wiki-Collapse

Ver en Git


Collapse

El componente Collapse es utilizado para mostrar una lista de elementos colapsables, permitiendo que el usuario expanda o colapse secciones de contenido.

Referencia de la API

PropiedadTipoPredeterminadoDescripción
activeKeyIKey (opcional)[]Claves de los ítems activos. Puede ser un arreglo de string[] o number[].
onChange(active: IKey) => void (opcional)undefinedFunción que se llama cuando cambia el estado de los ítems colapsables, proporcionando las claves activas.
itemsICollapseItemProps[]undefinedUn arreglo de objetos que representan los ítems que se mostrarán en el Collapse.
showArrowbooleanfalseSi es true, mostrará una flecha junto al título de cada ítem para indicar su estado (colapsado/expandido).
classNamestring (opcional)undefinedClase CSS adicional para aplicar al contenedor del componente.
aura-teststring (opcional)'collapse'Identificador para pruebas automatizadas (por ejemplo, con herramientas como Cypress).

Props del Componente CollapseItem

PropiedadTipoPredeterminadoDescripción
keystring | numberundefinedClave única que identifica al ítem dentro del Collapse.
labelstring (opcional)undefinedTítulo que se muestra en el ítem.
renderLabel(arrowIcon: JSX.Element) => JSX.Element (opcional)undefinedFunción para personalizar la renderización de la etiqueta del ítem, recibiendo un ícono de flecha.
showArrowboolean (opcional)trueSi es true, se mostrará una flecha para indicar el estado expandido o colapsado del ítem.
activeboolean (opcional)falseDetermina si el ítem está expandido o colapsado.
onClick() => void (opcional)undefinedFunción que se ejecuta cuando el usuario hace clic en el ítem.
childrenReactNode (opcional)undefinedContenido que se muestra cuando el ítem está expandido.
classNamestring (opcional)undefinedClase CSS adicional para aplicar al ítem.
aura-teststring (opcional)'collapse-item'Identificador para pruebas automatizadas.

Ejemplo de Uso

import { useState } from 'react';
import { Collapse, IKey } from '@auravant/ui-kit';

const items = [
{ key: 1, label: 'item 1', children: 'Contenido del item 1' },
{ key: 2, label: 'item 2', children: 'Contenido del item 2' },
{ key: 3, label: 'item 3', children: 'Contenido del item 3' },
];

export const CollapseExample = () => {
const [activeKeys, setActiveKeys] = useState<IKey>([1]);

const handleChange = (active: IKey) => {
setActiveKeys(active);
};

return (
<Collapse
activeKey={activeKeys}
onChange={handleChange}
showArrow={true}
items={items}
/>
);
};