Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t将onChange与react引导切换按钮组一起使用_Javascript_Twitter Bootstrap_Reactjs_React Bootstrap - Fatal编程技术网

Javascript Can';t将onChange与react引导切换按钮组一起使用

Javascript Can';t将onChange与react引导切换按钮组一起使用,javascript,twitter-bootstrap,reactjs,react-bootstrap,Javascript,Twitter Bootstrap,Reactjs,React Bootstrap,我发现这个问题已经有几个小时了,而且每分钟都变得越来越奇怪。主要问题是我无法使onChange事件在ToggleButtonGroup上工作 我的代码: class ToggleButtonGroupControlled extends React.Component {

我发现这个问题已经有几个小时了,而且每分钟都变得越来越奇怪。主要问题是我无法使onChange事件在ToggleButtonGroup上工作

我的代码:

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
中的导出,以便在不到一个月前根据包含此模块,因此它正在积极开发中,非常遗憾。无论如何,非常感谢您抽出时间。