use*_*337 8 javascript reactjs
我有一个在false和true之间切换的某个变量作为一个状态(我们可以称之为提交).我想做的是在几秒钟之后将状态更改设置为true后将状态更改为false.我该怎么做?
我有一个单击按钮时调用的函数,以及状态更改的位置:
saveAndContinue: function(e) {
e.preventDefault()
if(this.state.submitted==false) {
email = this.refs.email.getDOMNode().value
this.setState({email: email})
this.setState({submitted: !this.state.submitted});
}
}
Run Code Online (Sandbox Code Playgroud)
我想补充一点,我有一个计时器设置变量提交回false.我该怎么做呢?
chr*_*con 15
您可以设置超时以在给定时间后重置状态.记得要bind(this)超时功能,以便this指向右侧this
saveAndContinue: function(e) {
e.preventDefault()
if(this.state.submitted==false) {
email = this.refs.email.getDOMNode().value
this.setState({email: email})
this.setState({submitted: !this.state.submitted});
setTimeout(function(){
this.setState({submitted:false});
}.bind(this),5000); // wait 5 seconds, then reset to false
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10351 次 |
| 最近记录: |