Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

264
Vistas
Cómo personalizar el menú desplegable de autocompletar de Material UI

Estoy usando Material UI v5 beta1 y he estado tratando de personalizar su componente Autocompletar para que el color de la tipografía en las opciones cambie de negro a blanco cada vez que se selecciona el elemento, sin embargo, no puedo averiguar cómo pasar el estilo a eso. Hasta ahora, he intentado pasar mis estilos en .MuiAutocomplete-option ya sea a través de un componente con estilo o una anulación global (ver el código adjunto) y probé todos los estados que se me ocurren, pasar el mouse, seleccionar, enfocar, incluso probé las clases de Material para esos pero ninguno de ellos funcionó. También intenté usar un Popper personalizado con un MenuList dentro pero sin suerte. Me he estado tirando de los pelos con esto durante un par de días, y no poder inspeccionar el DOM lo hace aún más difícil, cualquier ayuda o consejo sería muy apreciado. Gracias de antemano.

 MuiAutocomplete: { styleOverrides: { root: { // ... }, option: { padding: '5px 12px', backgroundColor: theme.palette.background.paper, display: 'flex', height: 42, borderRadius: theme.borderRadius.s, '&:hover': { backgroundColor: theme.palette.action.hover, '& .Mui-Typography-root': { color: theme.palette.text.contrast }, }, '& .Mui-selected': { backgroundColor: theme.palette.action.hover, '& .Mui-Typography-root': { color: theme.palette.text.contrast }, }, '&.disabled': { opacity: 0.5, '& .Mui-Typography-root': { color: theme.palette.text.disabled, }, }, },
 renderOption={(props, option) => { return ( <li {...props}> <Box display={'flex'} flexDirection={'row'}> <Avatar size={'32'} variant={'circular'} /> <Box display={'flex'} ml={3} flexDirection={'column'}> <Typography color={'text.primary'}> {option.label} </Typography> <Typography color={'text.secondary'}> Extra Information </Typography> </Box> </Box> </li> ); }}
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Pasaría { selected } a su renderOption, luego lo usaría para alternar su estilo en línea

Por ejemplo:

 renderOption={(props, option, { selected }) => { return ( <li {...props}> <Box display={'flex'} flexDirection={'row'} style={{ backgroundColor: selected ? 'red' : 'green' }}> <Avatar size={'32'} variant={'circular'} /> <Box display={'flex'} ml={3} flexDirection={'column'}> <Typography color={'text.primary'}> {option.label} </Typography> <Typography color={'text.secondary'}> Extra Information </Typography> </Box> </Box> </li> ); }}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda