Javascript Can';t将onChange与react引导切换按钮组一起使用
我发现这个问题已经有几个小时了,而且每分钟都变得越来越奇怪。主要问题是我无法使onChange事件在ToggleButtonGroup上工作 我的代码:Javascript Can';t将onChange与react引导切换按钮组一起使用,javascript,twitter-bootstrap,reactjs,react-bootstrap,Javascript,Twitter Bootstrap,Reactjs,React Bootstrap,我发现这个问题已经有几个小时了,而且每分钟都变得越来越奇怪。主要问题是我无法使onChange事件在ToggleButtonGroup上工作 我的代码: class ToggleButtonGroupControlled extends React.Component {
class ToggleButtonGroupControlled extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {
value: [1, 3],
};
this.onChange = this.onChange.bind(this);
}
onChange(value){
alert(value);
this.setState({ value });
};
render() {
return (
<ToggleButtonGroup
type="checkbox"
value={this.state.value}
onChange={this.onChange}
>
<ToggleButton value={1}>Checkbox 1 (pre-checked)</ToggleButton>
<ToggleButton value={2}>Checkbox 2</ToggleButton>
<ToggleButton value={3}>Checkbox 3 (pre-checked)</ToggleButton>
</ToggleButtonGroup>
);
}
}
class ToggleButtongGroup.Component{
构造函数(道具,上下文){
超级(道具、背景);
this.state={
值:[1,3],
};
this.onChange=this.onChange.bind(this);
}
onChange(值){
警报(值);
this.setState({value});
};
render(){
报税表(
复选框1(预选中)
复选框2
复选框3(预选中)
);
}
}
现在,当我选择不同的“复选框”时,显示会相应地改变,但警报永远不会触发。此外,通过chromereact扩展检查组件表明状态没有改变,因此它被保留为不受控制的组件,因为onChange处理程序从未执行过
然而,奇怪的是,在中使用了相同的代码,并且它可以正常工作。另一件奇怪的事情是,在演示中,我可以通过React开发人员工具通过$r.props.onChange
修改onChange处理程序,而在测试中我就是不能ToggleButtongGroup
使用Uncontrolable
返回包装好的组件的非受控版本。非受控包装器具有通过道具传递的onChange I,但受控组件具有来自非受控
的特定设置和通知功能,因此无法移除
我真的不知道会有什么问题,因为我认为我已经放弃了所有合理的可能性,但我可能错过了一些显而易见的东西——我真的希望我是
提前感谢您的时间。其他人也会遇到此问题(请参阅)。降级react boostrap
软件包版本应该可以运行您需要将onChange
函数绑定。@AdamLeBlanc true,我忘记了,但这并不重要,因为问题是函数从未执行过。是的,我忘了检查已解决的问题(尽管我似乎没有解决(?)。不管怎样,我要尝试降级。正如预期的那样,它没有完全起作用。看起来他们没有弄坏任何东西,只是还不能正常/完全工作。事实上,他们刚刚修改了index.js
中的导出,以便在不到一个月前根据包含此模块,因此它正在积极开发中,非常遗憾。无论如何,非常感谢您抽出时间。