Botón de alternancia
Se puede utilizar un Botón de alternancia para agrupar opciones relacionadas.
Para resaltar grupos de botones de alternancia relacionados,
un grupo debe compartir un contenedor común.
El ToggleButtonGroup
controla el estado seleccionado de sus botones hijos cuando se le da su propio prop value
.
Selección exclusiva
Con la selección exclusiva, al seleccionar una opción se anula la selección de cualquier otra.
En este ejemplo, los botones de alternancia de justificación de texto presentan opciones para texto justificado a la izquierda, al centro, a la derecha y totalmente justificado (desactivado), con sólo un elemento disponible para la selección a la vez.
Nota: La selección exclusiva no obliga a que un botón esté activo. Para ello, consulte forzar conjunto de valores.
Selección múltiple
La selección múltiple permite seleccionar varias opciones agrupadas lógicamente, como negrita, cursiva y subrayado.
Tamaño
Para botones más grandes o más pequeños, utilice la propiedad size
.
Botones verticales
Los botones se pueden apilar verticalmente con la propiedad orientation
establecida en "vertical".
Forzar el conjunto de valores
Si quieres imponer que al menos un botón debe estar activo, puedes adaptar tu función handleChange
.
const handleAlignment = (event, newAlignment) => {
if (newAlignment !== null) {
setAlignment(newAlignment);
}
};
const handleDevices = (event, newDevices) => {
if (newDevices.length) {
setDevices(newDevices);
}
};
Personalización
Este es un ejemplo de personalización del componente. Puedes aprender más sobre esto en la página de documentación de overrides.
Accesibilidad
ARIA
- ToggleButtonGroup tiene
role="group"
. Debe proporcionar una etiqueta accesible conaria-label="label"
,aria-labelledby="id"
o<label>
. - ToggleButton establece
aria-pressed="<bool>"
según el estado del botón. Debes etiquetar cada botón conaria-label
.
Teclado
Actualmente, los botones de alternancia están en orden DOM. Navegue entre ellos con la tecla tabulador. El comportamiento de los botones sigue la semántica estándar del teclado.
API
Consulte la siguiente documentación para obtener una referencia completa de todos los accesorios y clases disponibles para los componentes mencionados aquí.