2016-06-22 11 views
1

Dies ist, was ich versuche, https://react-bootstrap.github.io/components.html#btn-groups zu tun, aber wenn ich auf eine der Schaltflächen ich eine andere Funktion wollenProbleme mit React-Bootstrap-Taste

<ButtonGroup> 
    <Button onClick = {this.onSubmit.bind(this,1)} key={1} active = {this.state.i == 1}>LEFT</Button> 
    <Button onClick = {this.onSubmit.bind(this,2)} key={2} active = {this.state.i == 2}>MIDDLE</Button> 
    <Button onClick = {this.onSubmit.bind(this,3)} key={3} active = {this.state.i == 3}>RIGHT</Button> 
</ButtonGroup> 


    onSubmit(new_i: number) { 
    this.setState({ 
     i: new_i 
    }); 
    } 

Ich möchte eine einzige Taste aktiv sein genannt werden zu einer Zeit, auf die ich klicke. Der Standardwert von i ist 1. Also, wenn ich das Programm starte, ist die LINKE Taste aktiv und die 2 anderen sind nicht, was ich will. Aber nachdem ich auf die anderen Buttons nicht klicken kann, da der Wert immer 1 ist. Und zum Schluss ist meine Frage, wie ich den Wert ändern kann, nur ich klicke auf einen Button.

+3

Ihr Beispiel scheint funktioniert gut - https://jsfiddle.net/69z2wepo/46535/. Aber ändere dein Beispiel lieber so - https://jsfiddle.net/69z2wepo/46534/ –

+0

Danke für die Antwort, ich habe es so gemacht, wie du gesagt hast. In jfiddle funktioniert es aber in meinem Code funktioniert nicht. Ich denke, dass ich etwas vermisse, so dass der einzige Unterschied darin besteht, dass anstelle von 'var Buttons = window ...' '' '' import Button von 'real-bootstrap' ist und auch nicht das '