当按下回车键时,React 会阻止表单提交
我有以下 React Search Bar 组件,父容器可以在其中调用使用
<SearchBar onInputChange={this.handleInputChange} />
每次用户更改输入时,都会通知父容器。这就是为什么我的搜索栏不需要任何提交按钮的原因。
但是,我发现如果我在搜索栏中按 Enter,整个页面都会刷新。我不想要那个。
我知道如果表单中有一个按钮,我可以调用 event.preventDefault()。但在这种情况下我没有按钮所以我不知道在这里做什么
class SearchBar extends Component {
constructor(props) {
super(props);
this.state = { value: '' };
this.handleChange = this.handleChange.bind(this)
}
handleChange(e) {
this.setState({ value: e.target.value });
this.props.onInputChange(e.target.value);
}
render() {
return (
<div id="search-bar">
<form>
<FormGroup controlId="formBasicText">
<FormControl
type="text"
onChange={this.handleChange}
value={this.state.value}
placeholder="Enter Character Name"
/>
</FormGroup>
</form>
</div>
);
}
}
export default SearchBar