reactjs - 如何更改 Material ui 选择菜单下拉颜色?

标签 reactjs material-ui react-material

我只想更改下拉菜单的背景颜色,但我尝试的任何操作都不起作用,我感到很困惑。

我无话可说,stackoverflow 希望我添加更多文本,但我只能说我一直在谷歌搜索各种解决方案,但到目前为止没有任何效果。

const BootstrapInput = withStyles((theme: Theme) =>
    createStyles({
        root: {
            'label + &': {
                marginTop: theme.spacing(3),
            },
        },
        selectMenu: {
            color: 'rgba(1,1,255,1)',
            backgroundColor: "#rgba(255,0,0,1)",
            "& ul": {
                backgroundColor: "#rgba(255,0,0,1)",
            },
            "& li": {
                backgroundColor: "#rgba(255,0,0,1)",
                fontSize: 12,
            },
        },
        input: {
            borderRadius: 0,
            position: 'inherit',
            backgroundColor: 'rgba(0,0,0,0)',
            color: 'rgba(255,255,255,1)',
            border: '1px solid rgba(255,255,255,0.2)',
            fontSize: 15,
            padding: '10px 26px 10px 12px',
            transition: theme.transitions.create(['border-color', 'box-shadow']),
            // Use the system font instead of the default Roboto font.
            fontFamily: [
                '-apple-system',
                'BlinkMacSystemFont',
                '"Segoe UI"',
                'Roboto',
                '"Helvetica Neue"',
                'Arial',
                'sans-serif',
                '"Apple Color Emoji"',
                '"Segoe UI Emoji"',
                '"Segoe UI Symbol"',
            ].join(','),
            '&:focus': {
                borderRadius: 4,
                borderColor: 'rgba(255,255,255,0.2)',
                boxShadow: '0 0 0 0.2rem rgba(0,190,255,0.6)',
                backgroundColor: 'rgba(0,0,0,0)',
            },
        },
    }),
)(InputBase);

<Select
                            native
                            value={currentClass}
                            onChange={updateClassChosenFunction}
                            input={<BootstrapInput />}
                        >
                            <option aria-label="None" value="" />
                            <option value={1}>One</option>
                            <option value={2}>Twu</option>
                            <option value={3}>Three</option>
                            
                        </Select>

最佳答案

要应用所需的样式,我们应该做两件事。 第一个用于输入的样式,第二个用于纸张下拉列表的样式(如果我们也想更改其样式)。 因此,我们可以通过 makeStyles 创建合适的样式,如下所示:

const useStyles = makeStyles((theme) => ({
  //other part of the code//
  paper: {
    background: "red",
    color: "white"
  },
  input: {
    color: "red",
    backgroundColor: "rgba(255, 0, 0, 0.4)",
    "&:focus": {
      borderRadius: 4,
      borderColor: "rgba(255,255,255,0.2)",
      boxShadow: "0 0 0 0.2rem rgba(0,190,255,0.6)",
      background: "rgba(0,0,0,0)"
    }
  }
}));

然后我们需要将它们应用到 Select 组件。 According to the docMenuPropsinputProps 负责这些更改:

    <Select
      MenuProps={{
        classes: {
          paper: classes.paper
        }
      }}
      inputProps={{
        classes: {
          root: classes.input
        }
      }}
     // other attributes//
    >

CodeSandbox

关于reactjs - 如何更改 Material ui 选择菜单下拉颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68275934/

相关文章:

javascript - react-select 中的 valueComponent 和 valueRenderer 有什么区别?

reactjs - React MUI 自定义 Autocomplete 的 Popper 组件

reactjs - 什么是应用栏与工具栏?

javascript - React Material UI TextField onchange 处理程序继续默认操作

reactjs - 如何在自定义域上部署我的 React.js 更改?

reactjs - Npm 审计显示创建新的 React Native 项目时存在 9 个漏洞

css - React - Material-UI Accordion : How to center header and expand icon

javascript - 如何在 Material Design React 中使用数据属性?

javascript - 响应 onClick 接收内联样式

autocomplete - 什么是 includeInputInList 属性用于 Material-ui 的自动完成?