如何解决如何在React中获取选定值的更新或最新值
我有一个选择选项,带有选择项目的值。在选择下拉列表旁边,我有一个按钮,用于将下拉列表中的此选定项添加到列表中。我有一个状态变量,其中将选定的项值与setState存储在一起。而且想法是在单击按钮时使用此statea变量的值。
<select onChange={this.getSelectedValue}>
<option value="item1"> Item 1 </option>
---- omitted for brevity
</select>
<button onClick={this.onAddToList} > Add to List </button>
// my function
getSelectedValue= (e) => {
setState({item: e.target.value })
}
// my function to be called on Click event of a button
onAddToList()
{
// Here this.state.item is either null or will have previously selected item from the list. I know setState is async but how to get the right selected value from the dropdown ?
var itemSelected = this.state.item;
....rest of the code
}
问题:我无法在click事件处理程序上获取下拉列表的确切选定值-onAddToList
解决方法
我试图重提您的案子。一切都很好,但我有一些注意事项:
- 当您不初始化状态的变量项时。如果单击
Add to List
。您将得到undefinded
。因为,您还没有更改选项。 - 您可以使用类组件。因此,setState应该为
this.setState({item: e.target.value })
。 - 您还应该为功能句柄绑定
this
。如果尚未在构造函数中完成。this.getSelectedValue.bind(this)
和this.onAddToList.bind(this)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。