0
「チェック」アイコンが押されているとき、デフォルトの赤色から緑色に色を変えたいと思う。私はたonPressのための別の機能を持っていながら、私の場合、私はネイティブ - プレス上のアイコンの色を変更する
<Icon name="check" size={20} color={this.state.isCompleted ? '#1DA664' : '#DE5347'} onPress={() => this.isCompleted(rowData)} isCompleted={this.state.isCompleted}/>
は私がたonPress
isCompleted(rowData){
if (this.state.status != 'new'){
this.itemsRef.child(rowData.id).update({
status: 'completed'
});
this.setState({
isCompleted: true
})
}
}
リストビューのアイコンのいずれかが押され
ため、この関数を呼び出し、この条件付き色ステートメントを使用し、アイコンは色が変わりましたが、色の変化が最後の項目のアイコンになるたびに変わります。
PICに示すように、
私は項目を押すと「昼食を調理」、それは緑に調理昼食ターンのアイコンである必要があります。代わりに、最後の項目 'hello'のアイコンが変更されました。何が間違っているのか全く分かりません。誰かが私を導くことができたら大変感謝します。
ありがとうございました。
isCompleted()イベントハンドラを明示的にバインドしている別のコンポーネントにアイコンを含むコンポーネントはありますか?また、親コンポーネントが[some array] .map()を使用してタスクをレンダリングしていると仮定して、各子コンポーネントに一意のIDを割り当てていますか? – Andrew
こんにちは@androo、isCompletedはonpress時にアイコン要素にバインドされています。 isCompleted関数内で色を設定する方法はありますか? –