Usé el evento onChange para tomar valores de entrada y mostrarlos en la pantalla. Pero al hacerlo, me encontré con el problema de que cuando cancelaba los cambios, no se cancelaba, sino que almacenaba los valores onChange . Quiero mantener los valores originales al cancelar el evento.
evento onChange
row.edit_mode ?<input type="text" placeholder="Enter data" value={value} onChange={(event) => onTableValueChanged(event, tableIndex, rowIndex, valueIndex)} className="form-control" /> :<span className="truncate table-truncate ext-data-pr-tooltip" data-pr-tooltip="value">{value} </span>Obtener detalles de la tienda redix
const extraction_data = useSelector(state => state.attachment.extraction.output_json);
estado usado
const [tableEntities, setTableEntities] = React.useState(extraction_data[currentPage - 1].table);
en Cancelar evento
const cancelTableRow = (row, tableIndex, rowIndex) => { let table_entities_cp = [...tableEntities]; console.log(table_entities_cp); let table_entity_cp = table_entities_cp[tableIndex]; table_entity_cp.rows[rowIndex].edit_mode = false; table_entities_cp[tableIndex] = table_entity_cp; setTableEntities(table_entities_cp); }Método onChange
const onTableValueChanged = (event, tableIndex, rowIndex, valueIndex) => { const updatedTableEntities = [...tableEntities]; updatedTableEntities[tableIndex].rows[rowIndex].data[valueIndex] = event.target.value; setTableEntities(updatedTableEntities); }