我试图在点击时传递目标值,然后更改道具的状态。我收到一个错误,即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>
答案 0 :(得分:1)
您的函数btnActiveInactive
具有两个参数:
btnActiveInactive = (e, isactive) => {
...
因此在您的按钮中,您需要正确输入参数:
onClick={(e) => this.btnActiveInactive(e, this.state.isactive)