React Native:更改并保留Flatlist中仅onPressed项的背景颜色

时间:2019-01-24 14:51:36

标签: javascript reactjs react-native

我已经通过将item.id分配给状态来更改Flatlist中onPressed按钮的背景颜色。我的问题是,当我按下另一个按钮时,先前按下的按钮会变回初始背景色。即使按下另一个按钮,如何保持新的背景色?

 onPressButtonarrived(item.id) {
    this.setState({ disablearrived: item.id })
    this.setState({ colorarrived: item.id })
  }


<View style={{backgroundColor: item.id === this.state.colorarrived ? '#D6D6D6' : '#E5C454'}}>
    <TouchableOpacity
    onPress={() => {this.onPressButtonarrived(item.id)}} disabled={item.id === this.state.disablearrived ? true : false}>
    <Text>Arrival</Text>
</TouchableOpacity>

1 个答案:

答案 0 :(得分:1)

您需要为每个项目的状态设置一些值:

cmake_minimum_required(VERSION 3.9)
find_package(Threads REQUIRED)
project(HelloWorld C CXX)
add_executable(${PROJECT_NAME} "main.cpp")
target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads)