javascript - ReactJS 中的 Checkox 绑定
问题描述
我正在尝试使用 reactJS 创建一个简单的复选框,并尝试使用绑定复选框的状态handlecheck()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
<title>Getting Started with React</title>
</head>
<body>
<div id='react-container'></div>
<script type="text/babel">
class Checkbox extends React.Component{
constructor(props){
super(props)
this.state = {
checked: false
}
this.handleCheck = this.handleCheck.bind(this)
}
handleCheck(){
this.setState ({
checked: true
})
}
render(){
return(
<div>
<input type = "checkbox"/>
</div>
)
}
}
ReactDOM.render(
<Checkbox />,
document.getElementById("react-container")
)
</script>
</body>
</html>
但是,即使我正在使用
handleCheck(){
this.setState ({
checked: true
})
}
我仍然可以多次选中和取消选中该框,但实际上,它不应该因为它必须检查一次并且应该停止。我知道在实际场景中它应该是这样的:
handleCheck(){
this.setState ({
checked: !this.state.checked
})
}
有人能告诉我为什么即使我做错了我也可以多次检查和取消检查吗?
解决方案
您忘记添加handleCheck
到您的复选框
<div>
<input type = "checkbox" onChange={this.handleCheck} checked={this.state.checked}/>
</div>
推荐阅读
- c++ - “while(node!=NULL&&node->next!=NULL)”在链表中表示什么。如何有效地使用它
- javascript - 如何从标签下拉角度 8 中的数组对象中选择一个值?
- javascript - Django Javascript Ajax - 提交表单什么都不做
- php - 如何使用 3 或 if 条件 PHP ?我的意思是如果( a 或 b 或 c )
- r - 在R中将汇总数据重塑为垂直且整齐的数据
- python - Django 匹配查询不存在,但我得到打印
- json - 将数据模型从一个视图控制器传递到另一个视图控制器
- facebook - Facebook 看不到 OG 标签。另一个社交工作正确
- sql - 指数格式化 PostgresQL
- django-models - Django admin - 使用另一个对象的数据预填充字段