使用React Material UI库(v1.0 beta)中的Input组件,我试图删除使用伪元素渲染的下划线。

const styleSheet = createStyleSheet('searchInput', () => ({
    underline: {
        '&:before': {
            height:0
        }
    }
}));

const SearchInput = ({ classes, placeholder, value, onChange }) => {
    return (
        <Input
            classes={classes}
            placeholder={placeholder}
            value={value}
            onChange={onChange} />
    );
};


当我尝试定位&:before时,出现以下错误。覆盖样式并删除下划线的正确方法是什么?


  警告:Material-UI:关键
  提供给课程的.searchInput-underline-1572343541:before
  属性对象未在Input中实现。
  
  您只能覆盖以下之一:
  根,formControl,墨水栏,错误,输入,已禁用,已聚焦,下划线,多行,inputDisabled,inputSingleline,inputMultiline,fullWidth,label
  + .MuiInput-formControl-583691922,.MuiInput-inkbar-171024778:after,.MuiInput-inkbar-171024778.MuiInput-focused-2315792072:after,.MuiInput-error-3674946725:after,.MuiInput-input-3582851417 ::- webkit-input-placeholder,.MuiInput-input-3582851417 ::-moz-placeholder,.MuiInput-input-3582851417:-ms-input-placeholder,.MuiInput-input-3582851417 ::-ms-input-placeholder,.MuiInput -input-3582851417:focus,.MuiInput-input-3582851417 ::-webkit-search-decoration,label
  + .MuiInput-formControl-583691922> .MuiInput-input-3582851417,标签+ .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417 ::-webkit-input-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417 ::-moz-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417:-ms-input-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417 ::-ms-input-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417:focus ::-webkit-input-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417:focus ::-moz-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417:focus:-ms-input-placeholder,label +
  .MuiInput-formControl-583691922>
  .MuiInput-input-3582851417:focus ::-ms-input-placeholder,.MuiInput-underline-892978022:before,.MuiInput-underline-892978022:hover:not(.MuiInput-disabled-265053423):before,.MuiInput- underline-892978022.MuiInput-disabled-265053423:before

最佳答案

按照DOC


  disableUnunderline prop =>
  
  disableUnderline:布尔值
  
  默认值:false
  
  详细信息:如果为true,则输入将没有下划线。


DOC提供了属性disableUnderline,我们可以直接使用该属性从输入元素中删除下划线。

尝试这个:

<Input
     disableUnderline={true}     //here
     classes={classes}
     placeholder={placeholder}
     value={value}
     onChange={onChange} />

09-25 15:30