reactjs 如何使用createTheme覆盖材质UI选择组件MenuProps?

0x6upsns  于 2023-03-17  发布在  React
关注(0)|答案(1)|浏览(134)

我想用createTheme修改我所有的材质UI选择组件的下拉菜单样式,但是不起作用。

下面是我的代码。我有什么错吗?

import { createTheme } from '@mui/material/styles';

const theme = createTheme({
  // palette, typography, etc.
  components: {
    MuiSelect: {
      defaultProps: {
        MenuProps: {
          PaperProps: {
            style: {
              boxShadow: '0px 0px 10px rgba(0, 0, 0, 0.2)',
            },
          },
        },
      },
      styleOverrides: {
        // do something
      },
    },
  },
});
ldfqzlk8

ldfqzlk81#

您的creatTheme函数是可以的,但是我猜您忘了用ThemeProvider标记包含Material UI Select,您也需要导入该标记。

import { ThemeProvider } from "@mui/material/styles";

         <ThemeProvider theme={theme}>
        <Select
            value={val }
            onChange={handleChange}
        >
            {data && data.map((item: any) => (
                <MenuItem key={item.key} value={item.value}>
                    {item.key}
                </MenuItem>
            ))}
            </Select>
        </ThemeProvider>

相关问题