【发布时间】:2020-06-17 06:32:53
【问题描述】:
我需要自定义 material-ui 自动完成控件,使其不那么高。我找到了一个示例,可以很好地使用自动完成的 TextField 上的 createMuiTheme 更改 MuiOutlinedInput 轮廓颜色。密码箱在这里:Code Example
这是我的主题覆盖代码,我为输入类的填充添加了覆盖:
const theme = createMuiTheme({
overrides: {
MuiOutlinedInput: {
root: {
"& $notchedOutline": {
borderColor: "green"
},
"&:hover $notchedOutline": {
borderColor: "red"
},
"&$focused $notchedOutline": {
borderColor: "purple"
},
"& $input": {
padding: "1px"
}
}
}
}
});
这是组件代码:
<Autocomplete
id="country-select-demo"
style={{ width: 300 }}
options={countries}
getOptionLabel={option => option.label}
renderInput={params => (
<MuiThemeProvider theme={theme}>
<TextField {...params} label={"Countries"} variant="outlined" />
</MuiThemeProvider>
)}
/>
问题是我的输入类填充被这个覆盖了:
.MuiAutocomplete-inputRoot[class*="MuiOutlinedInput-root"] .MuiAutocomplete-input
我可以做些什么来使我的自定义不会被上述内容覆盖?除了 createMuiTheme 之外,我也对其他技术持开放态度,或者可能对自动完成的其他部分进行样式设置。我只需要让它不那么高。
谢谢!
【问题讨论】:
标签: reactjs material-ui