我必须在render方法中声明x变量并在外部方法中使用。
var x = document.getElementById('pick').value
但它的错误显示x未定义。如何以其他方式定义它?谢谢。这是完整代码
handleSelect(key) {
if(key == 1){
window.location.href = '/portfolio.html?'+x;
}
if(key == 2){
window.location.href = '/transaction.html?'+x;
}
},
render:function() {
return (
<div>
<Tabs activeKey={this.state.key} onSelect={this.handleSelect}>
<Tab eventKey={0} title="home"> </Tab>
<Tab eventKey={1} title="Tab 1">Tab 1 content</Tab>
<Tab eventKey={2} title="Tab 2">Tab 2 content</Tab>
<Tab eventKey={3} title="Tab 3">Tab 3 content</Tab>
</Tabs>
<h1>here is your portfolio list</h1> <br/>
<select id="pick">
{
this.state.data.map(function(data) {
return <option value={data.id}>{data.name}</option>
})
}
</select>
{
if(this.state.data.length > 0)
window.x = document.getElementById('pick').value
}
</div>
);
}
答案 0 :(得分:1)
如果您使用的是基于Common JS的模式,则使用module.exports,默认情况下,任何变量都是本地的。忽略你正在尝试做的不是推荐的做法,你应该能够通过声明为 -
使其工作window.somevar = value;
并像 -
一样使用它if (window.someVar){...}
答案 1 :(得分:0)
您可以设置不带var
x = document.getElementById('pick').value
or
window.x = document.getElementById('pick').value