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

202
Vistas
Tabla Material-UI seleccionar todo por paginación de página

¿Es posible seleccionar elementos solo en la página actual/por página en la Table ?

https://codesandbox.io/s/ebnf3?file=/demo.js

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede ver cómo se ordenan y filtran las filas dentro del TableBody continuación, simplemente tome la parte donde se filtra a la función handleSelectAllClick :

 <TableBody> {/* if you don't need to support IE11, you can replace the `stableSort` call with: rows.slice().sort(getComparator(order, orderBy)) */} {stableSort(rows, getComparator(order, orderBy)) .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) .map((row, index) => { return (...); }
 const handleSelectAllClick = (event) => { if (event.target.checked) { const newSelecteds = stableSort(rows, getComparator(order, orderBy)) .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) .map((n) => n.name); setSelected(newSelecteds); return; } setSelected([]); };

En este punto, casi funciona, excepto que no puede borrar toda la selección porque el estado de la Checkbox de verificación dentro del encabezado de la tabla depende de la cantidad de filas seleccionadas, no se puede deseleccionar porque solo selecciona las filas en 1 página , no todas las filas. Puede solucionarlo tomando el control de la Checkbox de verificación y hacer que siempre cambie de estado entre las 2 opciones (seleccionar/deseleccionar):

 const [value, setValue] = React.useState(false);
 <Checkbox color="primary" // indeterminate={numSelected > 0 && numSelected < rowCount} checked={value} onChange={(_, value) => { setValue(value); onSelectAllClick(_, value); }} inputProps={{ "aria-label": "select all desserts" }} />

Demostración de Codesandbox

about 4 years ago · Juan Pablo Isaza Denunciar

0

Editar el handleSelectAllClick a lo siguiente debería funcionar:

 const handleSelectAllClick = (event) => { if (event.target.checked) { const newSelecteds = stableSort(rows, getComparator(order, orderBy)) .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) .map((n)=>n.name) setSelected(newSelecteds); return; } setSelected([]); };
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