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

生产环境MUI Datagrid的renderCell内调用getValue返回undefined报错

问题原因

你使用的mui-datagrid 4.0.0-alpha.26属于早期测试版本,本身存在生产构建压缩后getValue方法内部逻辑失效的bug:该方法依赖的内部字段映射表会被生产环境的代码混淆功能破坏,导致读取字段时报错,开发环境未开启代码压缩所以不会触发该问题。

解决方案
  • 首选方案:替换所有params.getValue写法,直接从params.row对象读取对应字段,完全规避对getValue方法的依赖,改造成本极低且无兼容性问题:
    把所有params.getValue('字段名')替换为params.row.字段名即可,改造后的核心代码示例:
    // edit列改造后
    renderCell: (params) => (
        <div>
         <EditProduct defaultCats={props.defaultCats} prodId={params.row.id} productIdGL={params.row.productId} />
        </div>  
      ),
    // active列改造后
    renderCell: (params) => (
        <div><CustomSwitch
            checked={Boolean(params.value)}
            onChange={() => myswitch(params.row.id, Boolean(params.value))}
            name="switch-"
            inputProps={{ 'aria-label': 'primary checkbox' }}
        ></CustomSwitch>
        </div>  
      ),
    
  • 备选方案:升级mui-datagrid到4.0.0正式版及以上版本,该bug在后续稳定版已经修复,升级前注意核对API变更说明,避免其他兼容性问题。
  • 不推荐的临时方案:调整生产构建配置,将mui-datagrid相关代码排除在变量混淆范围外,该方案会增大产物体积,仅做临时救急使用。

内容的提问来源于stack exchange,提问作者seserize

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 14:45:03