Вы должны сделать исключение для неопределенного, как это.
import React from 'react';
import PropTypes from 'prop-types';
import Paper from '@material-ui/core/Paper';
import InputBase from '@material-ui/core/InputBase';
import IconButton from '@material-ui/core/IconButton';
import SearchIcon from '@material-ui/icons/Search';
import makeStyles from '@material-ui/core/styles/makeStyles';
const useStyles = makeStyles((theme) => ({
root: {
display: 'flex',
alignItems: 'center',
borderRadius: 30,
width: 250,
height: 40,
},
input: {
marginLeft: theme.spacing(1),
flex: 1,
},
inputField: {
paddingLeft: theme.spacing(2),
fontSize: 14,
},
iconButton: {
padding: theme.spacing(1),
marginLeft: theme.spacing(0.5),
background: theme.palette.base[200],
'& svg': {
fill: theme.palette.base.white,
},
},
}));
function CustomSearchInput(props) {
const classes = useStyles();
const { disabled } = props;
const onChange = (event) => {
console.log(event.target.value);
};
return (
<Paper className={classes.root}>
<InputBase
className={classes.input}
placeholder="ID No."
inputProps={{ 'aria-label': 'id no.', className: classes.inputField }}
disabled={disabled}
onChange={onChange}
/>
<IconButton className={classes.iconButton} aria-label="search">
<SearchIcon />
</IconButton>
</Paper>
);
}