e.target.value未定义

时间:2020-09-23 01:08:10

标签: javascript reactjs twitter-bootstrap

我试图在点击时传递目标值,然后更改道具的状态。我收到一个错误,即e.target.value未定义。不确定我是否无法正确传递属性和值。

我尝试了不同的方法。任何帮助将不胜感激


  btnActiveInactive = (e, isactive) => {
    var clickedButton = e.target.value;
    console.log(isactive);
    if (clickedButton === "true") {
      this.setState({
        isactive: true,
      });
    }
    if (clickedButton === "false") {
      this.setState({
        isactive: false,
      });
    }
  };


                <ButtonGroup
                    className="text-center"
                    style={{ textAlign: "center" }}
                    aria-label="Basic example"
                    value={this.props.isActive}
                  >
                    <Button
                      onClick={(e) =>
                        this.btnActiveInactive(this.state.isactive)
                      }
                      id="inactive"
                      variant="outline-danger" //{this.state.inactiveVariant}
                      name="inactive"
                      value="false"
                    >
                      Inactive
                    </Button>
                    <Button
                      onClick={(e) =>
                        this.btnActiveInactive(this.state.isactive)
                      }
                      id="active"
                      variant="success" //{this.state.activeVariant}
                      name="active"
                      value="true"
                    >
                      Active
                    </Button>
                  </ButtonGroup>

1 个答案:

答案 0 :(得分:1)

您的函数btnActiveInactive具有两个参数:

btnActiveInactive = (e, isactive) => {
...

因此在您的按钮中,您需要正确输入参数:

 onClick={(e) => this.btnActiveInactive(e, this.state.isactive)