javascript - 如何让我的组件计算 React 中复选框值的总和?

标签 javascript reactjs checkbox react-props

此应用程序呈现一个食物列表,旁边带有复选框。我有一个组件,应该在选中复选框时计算并显示复选框值的总和。我无法显示复选框中的值。

这就是我目前所拥有的。

此文件呈现一个食物列表,每个食物旁边都有复选框。

import React from "react";
import { Card, Accordion } from "react-bootstrap";

const Cards = props => {
  return (
    <Accordion defaultActiveKey="0">
      <Card>
        <Accordion.Toggle as={Card.Header} eventKey={`${props.key}`}>
          <input
            type="checkbox"
            value={props.calories}
          />{" "}
          {props && props.title + " : " + props.calories + "cal"}
        </Accordion.Toggle>

        <Accordion.Collapse eventKey={`${props.key}`}>
          <Card.Body>
            {" "}
            {props.obj.nutrients &&
              "fat: " + props.obj.nutrients["fat"]} ||{" "}
            {props.obj.nutrients &&
              "trans fats: " + props.obj.nutrients["transfat"]}
          </Card.Body>
        </Accordion.Collapse>
      </Card>{" "}
    </Accordion>
  );
};

export default Cards;

我希望该组件对卡组件中输入框的“props.calories”值进行求和。这是我到目前为止所尝试过的。

import React from 'react';
import Cards from './card';


class Calculator extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            isChecked:false
        };
        this.handleChecked = this.handleChecked.bind(this);
    }

    handleChecked() {
     this.setState({isChecked: !this.state.isChecked});
    }



    render() {
            var total;
            if (this.state.isChecked) {
                total += <Cards.input.value/>;
            } 

        return (
            <div>
            <h1>Total: {total}</h1>
            </div>


        );
    }
}


export default Calculator;


我是 React 的新手,任何帮助将不胜感激。谢谢。

最佳答案

很抱歉,上面给出的示例中有多个错误。这是预料之中的,因为你是 React 新手,而 JSX 最初听起来像是一个陌生的概念。

我已经重现了您正在寻找的场景:

https://codesandbox.io/s/react-example-uctkj

希望对你有帮助!

如果您不理解示例中的某些内容,请随时发表评论。

关于javascript - 如何让我的组件计算 React 中复选框值的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59598242/

相关文章:

javascript - 如何恢复选择?

javascript - 无法弄清楚如何自定义基于 D3 的绘图

jquery - 禁用jquery中某个类的所有未选中的复选框

javascript - 使用 Angular ng-repeat 指令重复时复选框不起作用

java - 如何知道哪个 JCheckBox 发送了 ItemEvent

javascript - 修复 Nestable 的 dd-content 中的 css 显示问题?

javascript - 如何使用 Angular js ngClick 单击元素?

mysql - 减少跨数据库、后端和前端的模型重复

javascript - MUI v5 - 更新后无法通过 event.currentTarget 访问 MenuItem 属性

javascript - 如何禁用 Extjs 6.0.0 的节点。树列表?