我是 ReactJS 的新手,我正在尝试使用 React Data Grid。当我过滤我的表格,对单元格进行更改,然后取消过滤表格时,更改将恢复为之前的值。如果我改变 const rows = this.state.rows.slice(0); 到 const rows = Selectors.getRows(this.state); 我的更改仍然存在,但是我无法取消过滤表。
这是我处理要更新的网格行的方式:
handleGridRowsUpdated = ({ fromRow, toRow, updated }) => {
const rows = this.state.rows.slice(0);
// const rows = Selectors.getRows(this.state);
for (let i = fromRow; i <= toRow; i++) {
const rowToUpdate = rows[i];
const updatedRow = update(rowToUpdate, { $merge: updated });
rows[i] = updatedRow;
if (!rows[i].Date) {
const index = this.state.counter;
newRows[index] = rows[i];
this.handleUpdate(rows[i]);
this.setState({ newRows });
} else {
updatedRows[rows[i].Date] = rows[i];
this.handleUpdate(rows[i]);
this.setState({ updatedRows });
}
}
this.setState({ originalRows: rows });
};
我查看了 RDG 文档和示例。在他们的过滤器示例中,他们不允许您编辑单元格。
提前致谢!