javascript - 从 React 的下拉列表中获取未定义
问题描述
我已经阅读了很多帖子,以至于我认为我已经阅读了很多并且感到困惑,因为似乎有很多方法可以做我需要的事情。这是我的组件
class InputForm extends React.Component {
constructor(props) {
super(props);
this.state = { dropdown: 'RTS', value: '' };
this.handleChange = this.handleChange.bind(this);
this.handleDropdown = this.handleDropdown.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({ value: event.target.value });
}
handleDropdown(event) {
this.setState({ dropdown: event.target.dropdown });
}
handleSubmit(event) {
event.preventDefault();
}
render() {
return (
<form onSubmit={this.handleSubmit} className='flex'>
<select value={this.state.dropdown} onChange={this.handleDropdown} className='py-2 px-3 mr-2 rounded'>
<option value='RTS'>RTS</option>
<option value='RTB'>RTB</option>
<option value='BH'>BH</option>
<option value='MPC'>MPC</option>
<option value='MPC_DSP'>MPC_DSP</option>
</select>
<input
type='text'
value={this.state.value}
onChange={this.handleChange}
className='py-2 px-3 mr-2 rounded'
placeholder='Log Name...'
/>
<Btn onClick={() => getData(this.state.dropdown, this.state.value)}>Generate</Btn>
</form>
);
}
}
export default InputForm;
当改变我的状态时,value={this.state.dropdown}
我变得不确定。我是否正确设置了everyting?
解决方案
在您的handleDropdown
函数中,您需要从而event.target.value
不是检索值event.target.dropdown
:
handleDropdown(event) {
this.setState({ dropdown: event.target.value });
}
推荐阅读
- javascript - 允许两个角色执行命令
- laravel - 未定义变量:用户(查看:E:\PROJECTS\Ecommerce app\electrostore\resources\views\admin\components\topBar.blade.php)
- python - 为什么我的脚本在 if 命令“python”之后不打印?
- internationalization - 如何在 Next.js(域路由)中处理多个已翻译的 URL 路由?
- c++ - 有没有办法从窗口中清除绘制的形状(C++)
- r - 使用用户函数自定义绘图以匹配某些测量结果的结果略有不一致
- python-3.x - Discord.py 重写语音频道问题
- processing - 加工中如何计算-速度-距离-时间?很想举个例子
- ios - Xcode 错误:命令 PhaseScriptExecution 失败,退出代码为非零(仅显示最近的错误)
- reactjs - 如何在 React 中测试来自 SWITCH 的正确渲染输出