Javascript 如何在react bootstrap select FromControl中获取所选选项的值
我试图根据组件状态中存储的值,将用户从下拉列表中选择的内容写入firebase数据库,但我不知道如何获取所选选项的值并将其更新为Javascript 如何在react bootstrap select FromControl中获取所选选项的值,javascript,reactjs,react-bootstrap,Javascript,Reactjs,React Bootstrap,我试图根据组件状态中存储的值,将用户从下拉列表中选择的内容写入firebase数据库,但我不知道如何获取所选选项的值并将其更新为storeType状态 这是我的下拉菜单: <FormGroup> <FormControl componentClass="select" placeholder="Store type"
storeType
状态
这是我的下拉菜单:
<FormGroup>
<FormControl
componentClass="select"
placeholder="Store type"
onChange={this.handleCatChange}
>
<option value="placeholder">Choose eatery type...</option>
<option value="cafe">Cafe</option>
<option value="bakery">Bakery</option>
<option value="pizza">Pizza store</option>
<option value="sushi">Sushi store</option>
<option value="buffet">Buffet</option>
<option value="donut">Donut store</option>
<option value="other">Other</option>
</FormControl>
</FormGroup>
你需要像这样绑定你的函数
您的状态有效,但在执行
控制台.log时无效。这是因为setState
是异步的,不会立即改变状态值
根据,
setState()不会立即改变this.state,但会创建
等待状态转换。调用此命令后访问this.state
方法可能返回现有值。没有
保证对setState的调用和可能发生的调用的同步操作
为提高性能而进行批处理
如果需要确保在进行setState调用后事件的顺序,可以传递回调函数
这是手电筒
非常感谢,我现在明白了
handleCatChange(e) {
this.setState({
storeType: e.target.value
})
console.log(this.state.storeType)
}
onChange={this.handleCatChange.bind(this)}
constructor () {
super();
this.state = {
storeType: ''
};
}
handleCatChange(e) {
const type = e.target.value;
this.setState({
storeType:type
});
}
handleCatChange(e) {
this.setState({
storeType: e.target.value
}, () => console.log(this.state.storeType))
}