在我的组件中,我想在选择值发生变化后做一些事情。
选择
<select value={current} onChange={this.onSelectChange.bind(this)}>
{options}
</select>
onchange事件:
onSelectChange(event) {
const { cookies } = this.props;
// event.value is undefinded
}
我需要事件中的道具,所以我使用bind(this)。但为什么event.value
未定义(event.target.value
也是)
答案 0 :(得分:1)
我认为你在做其他一些错误,请检查控制台。
选中此示例event.target.value
将始终具有所选值:
class App extends React.Component{
onSelectChange(e){
console.log(e.target.value);
}
render(){
return(
<select onChange={this.onSelectChange.bind(this)}>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select>
)
}
}
ReactDOM.render(<App/>, document.getElementById('app'))
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='app'/>
&#13;
答案 1 :(得分:0)
您也可以使用此方法。
<select value={current} onChange={()=>this.onSelectChange(e)}>
{options}
</select>.
onSelectChange(e) {
console.log(e.target.value)
}