我正在使用React / Redux创建一个应用程序,并且已经为输入创建了自动填充功能。 (自动填充不是通过npm触发的;它是纯香草JS函数)。
这是我遇到的问题:我有一个onChange处理程序,只要输入该人,它就会捕获e.target.value,但是一旦单击自动完成建议,它就无法识别值已更改。
我尝试使用onBlur;这没有用,因为一旦用户从输入框移至自动完成框,它将值设置为用户先前输入的值。
class City extends React.Component {
state = {
array: [],
valueINeed: ''
}
componentDidMount() {
object.map(i => {
this.state.array.push(i.name)
return this.state.array
}
)
//BELOW PULLS IN THE AUTOCOMPLETE FUNCTION////
autocom(document.getElementById("myInput"), this.state.array)
}
handleChange = e => {
e.preventDefault()
this.setState({valueINeed: e.target.value})
}
render() {
return (
<form autoComplete="off" action="/action_page.php">
<div className="autocomplete" >
<input type="text" id='myInput' value={this.state.valueINeed}
onChange={this.handleChange} />
</div>
</form>
)
}
}
如果用户键入“ Te”,然后单击“德克萨斯”,则会将值设置为“ Te”,而不是德克萨斯。