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

460
Vistas
Mui Data Grid Pro actualiza el estado de datos original con apiRef.Current.getSelectedRows()
 // Method for deleting orders in batches. function DeleteBulkOrders(selectedRows){ const selectedIDs = new Set(selectedRows); const selectedRowUpdate = data.filter((row) => selectedIDs.has(row.id), ) console.log(selectedRowUpdate) var deletedData = data.filter(function(id){ return !selectedRowUpdate.includes(id); }); setData(deletedData); handleClose(); }

Tengo algo parecido a esto para el MUI datagrid pro. Esencialmente, cuando seleccioné una fila a través de onSelected, me escupe la ID de los elementos seleccionados en una matriz. Luego analizo y filtro esa matriz de ID en los datos originales y configuro los nuevos datos.

Esto funciona, desafortunadamente, creo que los datos que estoy usando no se actualizan al cambiar/editar la celda. Todavía muestra los valores antiguos y no refleja los editados. Todo esto es bueno para el método de eliminación de lotes, ya que los eliminaré de todos modos, sin embargo, no funciona tan bien para el envío, todo lo que debe reflejar las ventas editadas para enviar la carga útil a la API para su almacenamiento.

 // Deletes individual items within the row, not selected / bulk item delete. function DeleteIndividualItem(params){ console.log(params); const newArray = data .filter(function(row) { return row.id !== params.id; }); setData(newArray); }

También tengo eliminación individual, que en realidad envía los parámetros y refleja con precisión los cambios realizados en la celda y aún así la elimina.

Supongo que esto tiene que ver con el estado y cómo no actualizo el estado de mis datos al cambiar. Me tomó un tiempo, pero encontré este método apiRef.current.getSelectedRows() ^Esto realmente escupe la matriz asignada con los campos actualizados, estoy tratando de ver si hay un método integrado dentro de la tabla de datos MUI que actualiza las filas pasando apiRef.current.getSelectedRows().

Pensé en destruir el mapa y luego usar setData(api.Ref.current.getSelectedRows()) , etc. Sin embargo, creo que debería haber una forma más limpia de hacerlo.

 var [data, setData] = useState(apiDataArray); // Rows is the data array that is populated and fed back into the table. var apiDataArray = [...Array(25)].map((_, index) => ({ id: mockData.id(index), client: mockData.name.fullName(index), email: mockData.email(index), lastLogin: mockData.time(index), performance: mockData.number.percent(index), status: sample(['Accepted', 'Pending', 'Declined']), }));
about 4 years ago · Juan Pablo Isaza
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