You can 检查元素 https://i.stack.imgur.com/Z5mnM.png并看到您需要应用样式的组件被称为GridPanel
。这是过滤器和列面板的包装组件。查看所有组件插槽here https://v4.mui.com/api/data-grid/data-grid/#slots以供参考。
V5
<DataGrid
{...data}
components={{
Toolbar: GridToolbar,
}}
componentsProps={{
panel: {
sx: {
'& .MuiTypography-root': {
color: 'dodgerblue',
fontSize: 20,
},
'& .MuiDataGrid-filterForm': {
bgcolor: 'lightblue',
},
},
},
}}
/>
为了改变其他2的风格GridMenu
s(密度/出口),您需要瞄准MuiDataGrid-menuList
班级名称。目前我发现没有其他方法可以使用全局样式,因为DataGrid
不允许您自定义GridMenu
成分:
<GlobalStyles
styles={{
'.MuiDataGrid-menuList': {
backgroundColor: 'pink',
'& .MuiMenuItem-root': {
fontSize: 26,
},
},
}}
/>
V4
import { DataGrid, GridToolbar, GridPanel } from "@mui/x-data-grid";
const useStyles = makeStyles({
panel: {
'& .MuiTypography-root': {
color: 'dodgerblue',
fontSize: 20,
},
},
});
<DataGrid
{...data}
components={{
Toolbar: GridToolbar,
}}
componentsProps={{
// GridPanel
panel: { className: classes.panel },
}}
/>
<GlobalStyles
styles={{
".MuiDataGrid-gridMenuList": {
backgroundColor: "pink",
"& .MuiMenuItem-root": {
fontSize: 26
}
}
}}
/>