2017-07-24 17 views
-1

即时反应的自举DropdownButton,我想要做的是,使用作出反应的自举ONSELECT方法

当我在MenuItem S的一按,

onSelect将运行一个名为功能fltrPick() 那是设置一个新的状态setState({fltr:"some string"})

我结合fltrPick()这样let pickHeaderSet = fltrPick.bind(this)

,当我加载页面的按钮dosent甚至出现

这里是我的代码

 fltrFunc:function(name){ 
     function fltrPick(pick){ 
      this.setState({fltrName:pick}) 
     } 
     let pickHeaderSet = fltrPick.bind(this) 
     switch(name){ 
      case "processors": 
      return (
       <DropdownButton id="dropdownBtn" bsSize="xsmall" title={name} > 
       <MenuItem eventKey="1" onSelect={pickHeaderSet("pentium")} >pentium </MenuItem> 
       //the one above make the problam why ? 
       <MenuItem eventKey="2">i3</MenuItem> 
       <MenuItem eventKey="3">i7</MenuItem> 
       </DropdownButton> 
        ) 
      braek; 
        } 
     }, 
+0

为什么要绑定pickHeaderSet到fltrPick? –

+0

我没有改变错误 –

+0

但你的投票下降:( –

回答

0

我理解你在渲染上调用该函数?

您的代码应该是这个样子:

constructor(props) { 
    super(props); 

    this.fltrFunc = this.fltrFunc.bind(this); 
    } 

     fltrFunc(name) { 
     this.setState({ filterName: name }); 
     switch (name) { 
      case 'processors': { 
      return (
       <DropdownButton id="dropdownBtn" bsSize="xsmall" title={name} > 
       <MenuItem eventKey="1" onSelect={() => this.pickHeaderSet("pentium")}>pentium</MenuItem> 
       <MenuItem eventKey="2">i3</MenuItem> 
       <MenuItem eventKey="3">i7</MenuItem> 
       </DropdownButton> 
      ); 
      } 
      default: 
     } 
     } 

     render() { 
      return ({this.fltrFunc()}); 
     }