MUI X DataGrid Pro v6列minWidth属性致父容器拉伸问题求助
MUI X DataGrid Pro v6 含minWidth列时拉伸父容器,不显示横向滚动条的问题
最初以为是自身代码问题,经多轮简化测试确认是MUI v6改变了含minWidth属性列的DataGrid Pro显示逻辑。我们公司使用多个带大量minWidth列的DataGrid,在v5版本中,这些表格处于width:100%的容器内时,会因列数过多显示横向滚动条;但升级到MUI X DataGrid Pro v6后,表格会拉伸父容器以容纳全部列,不再显示横向滚动条。
简化示例代码(@mui/material 版本为5.11.15)
<Box sx={{ display: "flex", flexDirection: "row", height: 520, width: "100%", }} > <Box sx={{ width: "100%", backgroundColor: "#fff", }} > <DataGridPro rows={rows} columns={columns} /> </Box> <Box sx={{ width: "100%", backgroundColor: "#fff", }} > <DataGridPro rows={rows} columns={columns} /> </Box> </Box>
版本表现对比
- v5.15.0版本:表格在
width:100%的容器内,列数超出容器宽度时自动显示横向滚动条,不会拉伸父容器 - v6.0.3版本:两个并列的表格会将父容器拉伸至两倍视口宽度,完全没有横向滚动条
尝试过的解决方案及不足
- 使用
flex替代minWidth:虽能适配容器宽度,但当列数达到20+时,显示效果很差 - 用
vw或固定px值限制表格宽度:表面上能解决拉伸问题,但失去了列调整大小的功能,也无法灵活嵌入折叠面板等组件,而且列固定时会出现宽度闪烁的问题
不清楚v6与v5在这部分逻辑上的差异原因,希望能找到合适的解决办法。
内容的提问来源于stack exchange,提问作者AdamJJ
相关产品推荐
相关产品推荐

