我正试图在react中实现一组由对象呈现的复选框组成的字段,如下所示:
constructor() {
this.state.todo = {
eat: true,
sleep: false,
react: true
}
this.toggleCheckbox = this.toggleCheckbox.bind(this);
}
toggleCheckbox(e){
console.log(e); // nothing :-/
}
render() {
return (
<div>
{ Object.keys(this.state.todo).map((val, i) => (
<div key={i} >
<input
type="checkbox"
value={val}
onChange={this.toggleCheckbox}
checked={this.state.todo[val]}
/><label>{val}</label>
</div>
))}
</div>
)
}
所有渲染都正确,但我无法更改任何复选框。控制台记录
toggleCheck()
事件未被触发。
我试过用
onClick
VS
onChange
没有效果。