You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Material UI Data Grid的onCellEditCommit不生效,如何获取编辑后数据?

解决MUI DataGrid onCellEditCommit回调不生效的问题
  • 确认编辑功能已开启:首先要保证DataGrid或对应列配置了editable: true,没有这个配置的话单元格无法编辑,自然不会触发提交回调。比如列定义示例:

    const columns = [
      { field: 'name', headerName: '姓名', editable: true },
      // 其他列配置...
    ];
    
  • 明确提交触发的场景:onCellEditCommit不是编辑过程中实时触发,必须完成编辑并提交后才会执行。触发提交的动作包括:

    • 编辑完成后按回车键
    • 点击表格外区域或其他单元格
    • 通过API手动调用apiRef.current.commitCellEdit()
  • 检查回调绑定是否正确:仔细核对属性名有没有拼写错误,确保回调函数正确传递给DataGrid组件:

    <DataGrid
      rows={yourRows}
      columns={yourColumns}
      onCellEditCommit={(params) => {
        // params.value为编辑后的值,params.id对应行ID
        console.log('编辑后的数据:', params);
      }}
    />
    
  • 排查自定义编辑组件的影响:如果用了自定义renderEditCell渲染编辑组件,要确保组件没有阻止默认提交事件,或在合适时机手动调用提交API,避免编辑状态一直无法提交。

  • 检查MUI版本:部分旧版DataGrid存在回调不触发的已知bug,建议升级到最新稳定版本尝试。

内容的提问来源于stack exchange,提问作者luis miguel castro martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:35:15