javascript - 如何减少和增加reactJS中复选框的值?
问题描述
class App extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
total: 0,
groupSelected:false
};
}
}
我有复选框:
{check1 && size(check1) ? (
map(check1, (ind, i) => {
return (
<AvCheckbox
key={i}
value={ind.id}
onClick={() => this.setState({ groupSelected: !groupSelected })
onChange={(e) => {this.add(e.target.value, ind.size)}}
/>
)
)
add(value, size) {
const { groupSelected } = this.state;
if (groupSelected === true) {
const total = this.state.total - parseInt(size);
this.setState({
total,
});
} else {
const total = this.state.total + parseInt(size);
this.setState({
total,
});
}
}
这是我写的,如果用户点击一个复选框,一个值会增加,如果他点击另一个框值会减少。
我想根据复选框增加和减少总数。请帮忙。
解决方案
考虑使用以下内容更新您的状态:
this.setState(prevState => {
return {total: prevState.total + parseInt(size)}
})
推荐阅读
- dart - dart/flutter 中的一元后缀是什么?
- leaflet - 传单,如何从矩形框中返回 geoJSON 数据
- angular - Angular Cli 错误安装:解析时 JSON 输入意外结束
- javascript - 如何使用 textsearch() 从 Google Places JS 库中获取 JSON 结果?
- git - 使用带有 ZScaler 证书的 Git、Gradle 和 Maven?
- c++ - 为什么我的代码会生成错误:期望单个值:[extent=3]?
- python - Django模板中的多行if条件
- c++ - 为什么这个do while循环无限执行?
- amazon-web-services - 无法从另一台计算机通过 SSH 连接到我的 EC2 实例
- ios - DJI SDK - Swift 示例教程