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

如何解决Material UI React DataGrid列宽无法调整的问题?

解决Material UI DataGrid列宽无法调整的问题

以下是几个针对性的排查和修复方案:

  • 确认依赖版本
    确保你安装的是@mui/x-data-grid(社区版)或@mui/x-data-grid-pro(专业版)的最新稳定版本。旧版本可能存在列宽调整的兼容性问题,执行命令升级:

    npm update @mui/x-data-grid
    # 或使用yarn
    yarn upgrade @mui/x-data-grid
    
  • 排查样式冲突
    检查DataGrid的父容器或全局CSS是否覆盖了表头的resize手柄样式。避免给父Box设置overflow: hidden,这会遮挡调整手柄。可以给容器添加相对定位确保手柄可见:

    <Box sx={{ height: 400, width: '100%', position: 'relative' }}>
      <DataGrid
        rows={rows}
        columns={columns}
        disableColumnResize={false}
      />
    </Box>
    
  • 简化配置排查干扰
    暂时移除selectionModel、onRowClick等非核心属性,先测试基础功能是否正常。如果简化后能调整列宽,再逐步加回其他属性定位冲突点:

    return (
      <Box m="1.5rem 2.5rem">
        <Typography variant="h4">Reservation List</Typography>
        <Box style={{ height: 400, width: "100%" }}>
          <DataGrid
            rows={rows}
            columns={columns}
            pageSize={5}
            disableColumnResize={false}
          />
        </Box>
      </Box>
    )
    
  • 检查列配置
    确保所有列都没有手动设置resizable: false(默认值为true),如果某列单独禁用调整,会导致该列无法拖动:

    // 错误配置(禁用列调整)
    { field: "id", headerName: "#", width: 90, resizable: false }
    // 正确配置(保留默认可调整)
    { field: "id", headerName: "#", width: 90 }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:13:16