我正在使用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>
);
}
1条答案
按热度按时间ar7v8xwq1#
必须使用浏览器开发工具来标识要覆盖的零部件的插槽。完成后,编写一个包含要更改的类的CSS文件。
要强制类,可以用途:
!重要
文件:styles.css
例如: