MUI DataGridPro useResizeContainer - 网格的父级有一个空的宽度

IT技术 reactjs material-ui datagrid
2022-07-06 01:48:39

我请求你帮助我,因为我一直在寻找答案 3 天,但我无法解决这个问题。

问题: MUI:useResizeContainer - 网格的父级具有空宽度。您需要确保容器具有固有宽度。网格以 0px 的宽度显示。

描述 这是我的表格的屏幕截图,它放置在 MUI Side Drawer 中,我们怎么能看到没有 0px 宽度或与之相关的东西,因为我检查了我能找到的所有 CSS,但没有提供谷歌搜索和 MUI 文档给我一个答案,我发现我并不孤单

表格截图

零件

          <GridContainer>
                <StyledDataGridPro
                    headerHeight={40}
                    rowHeight={56}
                    disableSelectionOnClick
                    autoHeight
                    disableColumnMenu
                    disableChildrenSorting
                    disableColumnResize
                    disableColumnReorder
                    hideFooterRowCount
                    rows={rows}
                    columns={columns}
                />
            </GridContainer>

容器样式:

export const GridContainer = styled(Box)(({ theme }) => ({
    width: '535px',
    marginTop: '24px',
    '& .actions': {
        padding: '0 !important'
    },
    '& .MuiDataGrid-footerContainer': {
        display: 'none'
    }
}));

网格样式:

export const StyledDataGridPro = styled(DataGridPro)(({ theme }) => ({
    border: 'none',
    '& .MuiDataGrid-row': {
        cursor: 'pointer'
    },
    '& .MuiDataGrid-columnSeparator': {
        visibility: 'hidden'
    },
    '& .MuiDataGrid-columnHeaders, .MuiDataGrid-columnHeader': {
        backgroundColor: theme.palette.custom.cultured
    },
}));
1个回答

至少!!!问题是gridPro是在同时关闭的Drawer中渲染的,所以目前我有一个当前未渲染的父级的0px宽度,OMG如此愚蠢的错误

所以为了修复它,我让它有条件地渲染,所以我传入了整个 Drawer 的“isOpen”状态——就这么简单