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

130
Vistas
Reaccionar Material-UI Selección múltiple con casilla de verificación no se puede seleccionar todo

Estoy tratando de usar la selección múltiple de Material UI con casillas de verificación. Hasta ahora, puedo hacer selecciones múltiples y obtener los valores, pero no puedo representar los nombres reales de los valores seleccionados u obtener todos los valores seleccionados. Se agradecerá cualquier dirección a un nuevo enfoque que pueda usar o enlaces útiles para ayudar a obtener las identificaciones de todos los valores seleccionados en mi matriz.

Creé un sandbox que también tiene una simulación de mis datos de una API aquí: sandbox

Mi selección se ve así:

 const [selected, setSelected] = useState([]); const isAllSelected = options.length > 0 && selected.length === options.length; const handleChange = (event) => { console.log("vals", event.target); const value = event.target.value; if (value[value.length - 1] === "all") { setSelected(selected.length === options.length ? [] : options.title); return; } setSelected(value); console.log("values", selected); }; <FormControl className={classes.formControl}> <InputLabel id="mutiple-select-label">Multiple Select</InputLabel> <Select labelId="mutiple-select-label" multiple variant="outlined" value={selected} onChange={handleChange} renderValue={(selected) => selected} MenuProps={MenuProps} > <MenuItem value="all" classes={{ root: isAllSelected ? classes.selectedAll : "" }} > <ListItemIcon> <Checkbox classes={{ indeterminate: classes.indeterminateColor }} checked={isAllSelected} indeterminate={ selected.length > 0 && selected.length < options.length } /> </ListItemIcon> <ListItemText classes={{ primary: classes.selectAllText }} primary="Select All" /> </MenuItem> {options.map((option) => ( <MenuItem key={option.id} value={option.id}> <ListItemIcon> <Checkbox checked={selected.includes(option.id)} /> </ListItemIcon> <ListItemText primary={option.title} /> </MenuItem> ))} </Select> <p>{selected}</p> </FormControl>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hice algunas correcciones en su código para que funcione, en este entorno limitado : para mostrar un texto en su menú, se supone que debe mostrar el texto en el componente ListItemText :

 <ListItemText>{option}</ListItemText>

Otra cosa es que no se puede acceder directamente al selected , ya que es un estado, por lo que se configura de forma asíncrona. Para resolver esto, simplemente puede acceder a él de esta manera:

 selected?.length

De esta manera, incluso si la selección aún no está definida, no arrojará ningún error.

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