reactjs - CheckBox 值始终返回 true
问题描述
我使用变量设置的复选框始终返回变量的值,并且始终选中该复选框。如果值为 true,则返回 true,反之亦然
answerOption={isCorrect:true}
<input type="checkbox" checked={(!answerOption.isCorrect) ? false : true} onChange={this.updateAnswerChecked.bind(this)} style="cursor:pointer;" />
updateAnswerChecked(e){
console.log(e.target.checked);
answerOption.isCorrect = e.target.checked
}
解决方案
更简单且有效的示例:
export default function App() {
const [answerOption, setAnswerOption] = useState(true);
const updateAnswerChecked = (e) => {
console.log(e.target.checked);
setAnswerOption(e.target.checked);
};
return (
<input
type="checkbox"
onChange={updateAnswerChecked}
checked={answerOption}
/>
);
}
使用您的代码:
export default function App() {
const [answerOption, setAnswerOption] = useState({isCorrect: true);
const updateAnswerChecked = (e) => {
console.log(e.target.checked);
setAnswerOption({isCorrect: e.target.checked});
};
return (
<input
type="checkbox"
onChange={updateAnswerChecked}
checked={answerOption.isCorrect}
style={{cursor: pointer}}
/>
);
}
推荐阅读
- python - django-rest-framwork: AttributeError, 'Response' object has no attribute 'title'
- reactjs - 从 React 道具启动 SVG 动画
- python-3.x - 如何在 django 中上传多个不同的图像及其关联名称,基本上是创建与其名称关联的图像数据库
- mongodb - PyMongo 查询,多条语句指向 BSON 文档的同一部分
- python-3.x - Netfilterqueue,set_payload 不使用 python3 更改数据包
- ios - Azure SQL 数据库新创建的表不允许插入数据但所有旧表都允许插入数据
- javascript - 在 Vue.js 的监视中使用 try catch
- reactjs - 不变违规:当`goBack()` React Navigation 5 时需要 eventType 参数
- angular - 反应式表单验证但出现错误
- database - 在 Postgresql 的事务中创建唯一索引