reactjs 我如何覆盖CSS的材料UI文本域组件?

eqfvzcg8  于 2023-06-05  发布在  React
关注(0)|答案(1)|浏览(167)

我正在使用Material UI的Autocomplete/TextField,我想在悬停时以及文本字段处于焦点状态时覆盖其默认CSS。
默认CSS:Image for default CSS in focused state
当输入框处于焦点状态时,我想更改此蓝色。
我试过使用ThemeProvider/createTheme钩子,但它没有帮助。createTheme代码如下:

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

const overrideTheme = createTheme({
  overrides: {
    MuiInput: {
      root: {
        "&$focused": {
          borderColor: "red",
        },
      },
    },
  },
});
export default function AutocompleteComponent() {
return (
    <ThemeProvider theme={overrideTheme}>
 <Autocomplete
          classes={classes}
          freeSolo
          id="free-solo-2-demo"
          options={
            autocompleteResult ? top100Films.map((option) => option.title) : []
          }
          renderInput={(params) => (
            <TextField
              variant="outlined"
              {...params}
              placeholder="Search..."
              InputProps={{
                ...params.InputProps,
                type: "search",
                classes: {
                  root: classes.root,
                  notchedOutline: classes.notchedOutline,
                },
                className: classes.input,
                endAdornment: false,
              }}
            />
          )}
        />
 </ThemeProvider>
 );
}
ar7v8xwq

ar7v8xwq1#

必须使用浏览器开发工具来标识要覆盖的零部件的插槽。完成后,编写一个包含要更改的类的CSS文件。
要强制类,可以用途:
!重要
文件:styles.css
例如:

.css-1q6at85-MuiInputBase-root-MuiOutlinedInput-root{
    border-radius: 50px!important;
}

相关问题