Reactjs 启用在使用react数据网格进行编辑后更新我的表格

Reactjs 启用在使用react数据网格进行编辑后更新我的表格,reactjs,react-data-grid,Reactjs,React Data Grid,所以我试图使用,我面临着一个单元格编辑的问题。我试图做的是编辑一个单元格,然后更新单元格以显示新值。我在React数据网格网站上尝试了所有的例子,但没有一个有效。我可以编辑该单元格,但如果单击另一个单元格或按enter键,该单元格将返回其旧值。我不知道为什么,但昂格里德直升机从不开火!我希望有人能在这方面帮助我,以下是我的代码: import React, { Component } from "react"; import ReactDataGrid from "react-data-grid

所以我试图使用,我面临着一个单元格编辑的问题。我试图做的是编辑一个单元格,然后更新单元格以显示新值。我在React数据网格网站上尝试了所有的例子,但没有一个有效。我可以编辑该单元格,但如果单击另一个单元格或按enter键,该单元格将返回其旧值。我不知道为什么,但昂格里德直升机从不开火!我希望有人能在这方面帮助我,以下是我的代码:

import React, { Component } from "react";
import ReactDataGrid from "react-data-grid";
import 'react-data-grid/dist/react-data-grid.css';
class DataGrid extends Component {

    state = {
        rows: this.props.rows.map(p => p),
    };
    rowGetter = (i) => {
        console.log(i)
        return (this.state.rows[i]);
    }
    onGridRowsUpdated = ({ fromRow, toRow, updated }) => {
        console.log('hello')
        this.setState(state => {
            const rows = state.rows.slice();
            for (let i = fromRow; i <= toRow; i++) {
                rows[i] = { ...rows[i], ...updated };
            }
            return { rows };
        });
    };
    rowGetter = (rowIdx) => {
        return this.state.rows[rowIdx]
    }

    rowGetter = (i) => {
        return this.state.rows[i];
    }
    render() {
        return (
            <ReactDataGrid
                enableCellSelect={true}
                columns={this.props.columns}
                rows={this.state.rows}
                rowGetter={this.rowGetter}
                rowsCount={this.state.rows.length}
                onGridRowsUpdated={this.onGridRowsUpdated}
            />
        );
    }
} export default DataGrid;
import React,{Component}来自“React”;
从“react数据网格”导入ReactDataGrid;
导入'react data grid/dist/react data grid.css';
类DataGrid扩展组件{
状态={
行:this.props.rows.map(p=>p),
};
rowGetter=(i)=>{
控制台日志(i)
返回(this.state.rows[i]);
}
onGridRowsUpdated=({fromRow,toRow,updated})=>{
console.log('hello')
this.setState(state=>{
const rows=state.rows.slice();
for(让i=fromRow;i{
返回此.state.rows[rowIdx]
}
rowGetter=(i)=>{
返回此.state.rows[i];
}
render(){
返回(
);
}
}导出默认数据网格;

项目网站上的示例代码与当前安装的此网格组件不兼容。您需要使用

onRowsUpdate={onGridRowsUpdated}
而不是

onGridRowsUpdated={ .... etc.. }.

我也为此绞尽脑汁了一段时间,意识到这是一个文档问题。

项目网站上的示例代码与当前安装的网格组件不兼容。您需要使用

onRowsUpdate={onGridRowsUpdated}
而不是

onGridRowsUpdated={ .... etc.. }.
有一段时间,我也对这个问题大发雷霆,意识到这是一个文档问题