如何在React中禁用Material UI中TextField
组件的波纹或高亮颜色?
我尝试过覆盖主题:
theme.props.MuiTab.disableRipple = true
theme.props.MuiButton.disableRipple = true
theme.props.MuiButtonBase.disableRipple = true
或添加自定义CSS:
// disable Ripple Effect
.MuiTouchRipple-root {
display: none;
}
// disable FocusHightlight
.MuiCardActionArea-focusHighlight {
display: none;
}
基于这里提出的问题的建议:https://github.com/mui-org/material-ui/issues/240
有没有一种方法可以在聚焦时消除对输入的连锁反应?
发布于 2020-06-30 10:09:08
找到了使用withStyles
的方法
const CustomTextField = withStyles({
// Override default CSS for input
root: {
'& .MuiInput-underline': {
// Remove the ripple effect on input
'&:after': {
borderBottom: 'initial',
},
},
},
})(TextField);
...
// Usage
<CustomTextField />
用于比较按钮和TextField的不同解决方案的Codesandbox:
发布于 2020-12-19 07:39:45
这个解决方案对我很有效
underline: {
"&:before": {
borderBottom: `2px solid var(--border)`,
},
"&:after": {
borderBottom: `2px solid var(--border)`,
transition: 'none',
},
"&:hover:not($disabled):not($focused):not($error):before": {
borderBottom: `2px solid var(--border)`,
},
}
https://stackoverflow.com/questions/62653942
复制相似问题