作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在使用 Reactjs“试水”。基于their docs ,我发起了一个我一直坚持的小项目。到目前为止,当复选框被选中时,状态会发生变化,但是......不确定如何更改未选中的状态:
var Foo = React.createClass{(
getInitialState: function() {
return {
location: true,
}
},
onClick: function() {
this.setState({ location: false });
},
render: function() {
var inlineStyles = {
display: this.state.location ? 'block' : 'none'
};
return (
<div>
<input type="checkbox"
onClick={this.onClick}
/> show / hide bar
<hr />
<div style={inlineStyles}>
<p>bar</p>
</div>
</div>
);
}
)};
我需要使用 if 语句
来做我想要的事情吗?未选中时,我需要 this.setState.location: true
。
最佳答案
您需要在单击期间读取复选框的状态,并将其应用到您的 React 状态。
var Foo = React.createClass({
render: function() {
return <input type="checkbox" onClick={this.onClick} checked={!this.state.location}></input>
},
onClick: function(e) {
this.setState({location: !e.target.checked});
},
getInitialState: function() {
return {
location: true
};
}
});
关于javascript - Reactjs:带有复选框的setState:选中或未选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33208629/
我是一名优秀的程序员,十分优秀!