答案 0 :(得分:0)
两个变量都应该是状态并在构造函数中定义:
class FooComponent extends Component {
constructor(props) {
super(props);
this.state = { myvar: 'foo', anotherVar : '' };
}
handleSelect(event){
this.setState({anotherVar: event.target.value}, console.log('My var ' + this.state.myvar));
}
render(){
return(
<div>
<select id="blabla" onChange={this.handleSelect.bind(this)} value={this.state.myvar}>
<option value="select">Select</option>
<option value="Java">Java</option>
<option value="Ruby">Ruby</option>
</select>
<p></p>
<p>{this.state.anotherVar}</p>
</div>
);
}
答案 1 :(得分:0)
我的解决方案是,当您使用event
将变量传递给类似bind
的函数时,仍然会传递handleSelect
。
我可以在onChange={this.handleChange.bind(this, anotherVar}
元素中使用<select>
并访问这样的变量:
handleSelect: function(anotherVar, event) {
event.preventDefault();
let myVar = event.target.value;
...rest of my code using myVar and anotherVar...
},