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
相关产品推荐
相关产品推荐

