如何更改MUI DataGridPro工具栏内部组件的颜色?

问题描述 投票:0回答:1

我想更改 mui 工具栏的内部组件颜色。例如,一旦我单击过滤器框,我就在此处添加了列,其中包含开关和其他按钮的默认颜色。但我需要根据我的主题更改它们。我怎样才能改变这些?
enter image description here

const GridCustomToolbar = () => {
        return (
            <>
                <GridToolbarContainer>
                    <GridToolbarColumnsButton
                        sx={{
                            color: designToken?.palette.buttonColor,
                            '&:hover': {
                                background: designToken?.palette.hoverColor,
                            },
                        }}
                    />
                    <GridToolbarDensitySelector
                        sx={{
                            color: designToken?.palette.buttonColor,
                            '&:hover': {
                                background: designToken?.palette.hoverColor,
                            },
                        }}
                    />
                    <Box sx={{ flexGrow: 1 }} />
                    <GridToolbarQuickFilter InputProps={{ disableUnderline: true }} />
                </GridToolbarContainer>
            </>
        );
    };
javascript reactjs material-ui mui-x-data-grid
1个回答
0
投票

您可以通过

columnsPanel
slotProps
属性传递这些样式,如下所示:

slotProps={{
  columnsPanel: {
    sx: {
      '& .MuiDataGrid-columnsPanel': {
        '& .Mui-checked': {
          color: designToken?.palette.buttonColor,
          '&+.MuiSwitch-track': {
            backgroundColor: designToken?.palette.buttonColor,
          },
        },
      },
      '& .MuiDataGrid-panelFooter': {
        '& .MuiButton-root': {
          color: designToken?.palette.buttonColor,
        },
      },
    },
  },
}}

您可以查看 this StackBlitz 以获取实时工作示例。 您可以在此处查看 mui datagrid v6 的可用插槽列表。

© www.soinside.com 2019 - 2024. All rights reserved.