Reactjs复选框不能被选中
Reactjs checkbox cannot be checked
我在Reactjs中有这段代码,显示一个带有复选框的标签
import React, { Component, PropTypes } from 'react';
class Test extends Component {
constructor() {
super(...arguments);
}
checkboxClicked(e) {
this.props.test.clicked = e.target.checked;
}
render() {
return (
<li>
<label>
<input type="checkbox" value={this.props.test.id} checked={this.props.test.clicked} onChange={this.checkboxClicked.bind(this)} />
{this.props.test.text}
</label>
</li>
);
}
}
export default Test;
复选框和文本显示得很好,但是当我点击它时,它拒绝被选中。修改的是this.props.test.clicked
的值,而不是浏览器界面。
有人能告诉我我失踪了吗?
不建议修改props。试着用state
代替。
import React, { Component, PropTypes } from 'react';
class Test extends Component {
constructor() {
super(...arguments);
this.state = { checked: this.props.test.clicked };
}
checkboxClicked(e) {
this.setState({checked : e.target.checked});
}
render() {
return (
<li>
<label>
<input type="checkbox" value={this.props.test.id} checked={this.state.checked} onChange={this.checkboxClicked.bind(this)} />
{this.props.test.text}
</label>
</li>
);
}
}
export default Test;
相关文章:
- 关闭在加载时激活,而不是复选框更改
- 如何使用template.find()来选中或不选中复选框
- 如果在使用IE 7或8时隐藏,则单击标签不选中复选框
- 使用隐藏字段值而不是复选框值计算合计
- 复选框提醒脚本在动态加载测试时不记得复选框状态.php其中包含复选框
- "全部检查”;不选中复选框
- 将值从一个表单字段复制到另一个,不带复选框
- 单击不使用复选框标记的事件
- 为不确定复选框设置自定义初始值只有在单击后才能工作
- 如何更改此代码以显示带有菜单下拉菜单而不是复选框的隐藏表单
- 引导弹出窗口不保存复选框
- jQuery触发器('click')不触发复选框上的.click事件
- 如何使不确定复选框触发其他复选框的功能
- :空白选择器不工作复选框jQuery Validate()
- Javascript不击中复选框
- 改变事件不触发复选框,如果它是由javascript设置的
- 不确定复选框的Knockout自定义绑定不起作用
- 在Firefox中,click()设置后不运行复选框.Disabled = false
- KnockoutJS不选择复选框列表中的选中值
- 是否可以在单击标签时不触发复选框?