使用material-ui 0.15.3
和react 15.3.0
。ReactJS MaterialUI复选框 - onCheck中的设置状态()
我有一个复选框组件,并希望在其onCheck
函数中使用this.setState
。
很明显,我不得不手动将某些东西传入复选框的checked
支柱。如果我不这样做,那么我不能使用setState。如果我尝试这样做,那么复选框的可视组件将不会更新。例如。我点击复选框并保持空白。 我的第一个问题是为什么?为什么我不能把它作为一个不受控制的组件?为什么我必须通过checked
道具?
<Checkbox
label="1"
style={styles.checkbox}
onCheck={this.handleCheck.bind(this)}
checked={this.state.box1} // if this is not supplied then I cannot use setState within handleCheck()
handleCheck():
handleCheck(event, checked) {
this.setState({
box1: checked
someState: someValue
});
}
现在我已经多个复选框,所以我的第二个问题是,我怎么能结构此所以它是尽可能干净?我需要为每个checkbox()函数分别设置一个单独的状态变量吗?我觉得这很快就会变得麻烦。例如(状态为box1,box2,box3等)
感谢您的回答。所以有一个状态数组表示哪些复选框处于活动状态? 'this.state.aBunchOfCheckboxes'应该代表什么? – Rolodecks
这只是为了说明这将如何与任何数量的复选框工作。你不需要这项工作。 – azium
谢谢一堆。我怎么去附加一个ID /标签复选框,但?你能告诉我一个例子吗? – Rolodecks