Поле ввода очищает введенный ввод, когда я нажимаю на любую вещь в div, кроме кнопки отправки и поля ввода. Как я могу решить это? Введенный ввод должен присутствовать, пока не произойдет отправка. У меня есть div с полем ввода, показанным ниже, а также флажками и кнопкой отправки. Нет ничего плохого в флажках и кнопке отправки.
return(
<Downshift
onChange={selection => this.setState({input: selection})}
itemToString={item => (item ? item.first_name : '')}
>
{({
getInputProps,
getItemProps,
getMenuProps,
isOpen,
inputValue,
highlightedIndex,
selectedItem,
}) => (
<div className={classes.container}>
{this.props.disabled ?
<TextField
disabled
label="Name"
fullWidth
inputProps={{
...getInputProps(),
ref: node => {
popperNode = node;
}
}}
// InputProps={{ ...getInputProps() }}
/>
:
<TextField
label="Name"
fullWidth
inputProps={{
...getInputProps(),
ref: node => {
popperNode = node;
}
}}
/>
}
<Popper open={isOpen} anchorEl={popperNode} style={{zIndex:2000}}>
<div {...(isOpen ? getMenuProps({}, { suppressRefError: true }) : {})}>
{inputValue ? this.props.setInputValue(inputValue): null}
<Paper
style={{ marginTop: 8, width: popperNode ? popperNode.clientWidth : null }}
// className={classes.paper}
square>
{ this.state.suggestions
.filter(item => !inputValue || item.first_name.includes(inputValue))
.map((item, index) => (
<MenuItem
component="div"
{...getItemProps({
key: item.person_id,
index,
item,
})}
>
<Typography color="primary">{item.first_name + ' ('+item.person_id +')'} </Typography>
</MenuItem>
))}
</Paper>
</div>
</Popper>
</div>
)}
</Downshift>
);