2017-11-21 25 views
0

こんにちは単純なボタンを選択して、あるページにたくさんのボタンがある場合は選択を解除し、他のボタンは有効にしません。React native複数ボタン選択

以下のように私のコード:

constructor(props) { 
     super(props); 
     this.state = { 
       activeState: [false, false, false] 
     }; 
     this.buttonPressed = this.buttonPressed.bind(this); 
} 
buttonPressed(index) { 
     // I want to update array value true and false. 
} 


<TouchableOpacity 
     style={this.state.activeClasses[0] ? styles.rateButton : 
     styles.rateButtonActive} 
     onPress={() => this.addActiveClass(0)}> 
</TouchableOpacity> 

<TouchableOpacity 
     style={this.state.activeClasses[1] ? styles.rateButton :   
     styles.rateButtonActive} 
     onPress={() => this.addActiveClass(1)}> 
</TouchableOpacity> 

あなたは私がこれを行うことが可能な別のプロセスまたは方法を提案することができます。

+0

addActiveClass()関数の目的は何でしょうか。 – TimH

+0

が間違って入力されました onPress = {()=> buttonPressed(1)} – Biswajit

+0

this.state.activeClasses = this.state.activeState? – TimH

答えて

0

これは正確に何をしたい場合、私は知らないが、私はそれを試してみるよ:

buttonPressed(index) { 
     const tmpState = this.state.activeState.map((val, tmpIndex) => { 
      if (tmpIndex === index) { 
       return !val; 
      } 
      return val; 
     }); 
     this.setState({ activeState: tmpState }); 
} 
+0

これは素敵でとても良いです。完全に...ありがとう。どうもありがとうございました。 – Biswajit

+0

@ user2243870ようこそ。私の答えに間違いを記してください。私の答えの横にあるチェック・アイコンをクリックするだけです。ありがとう:) – TimH

+0

完了、私は15評判のポイントを持っていないので投票することはできません。ありがとうございました。 – Biswajit

関連する問題