Я сделал список аккордеонов, используя native-base
. Я пытаюсь изменить цвет содержимого аккордеона, когда он выбран. Но я получаю, что будет выбор по умолчанию для первого элемента в аккордеоне.Также, если я закрою один аккордеон и открою другой, выбор будет на той же позиции, что и предыдущий. Следующий код - пожалуйста, помогите мне найти решение.
код
onPressList = (item, index) => {
this.props.navigation.navigate("Header2", { id: item.id, name: item.value })
this.setState({ pressStatus: true, selectedItem: index });
}
....
....
<FlatList
data={drop_down_data}
extraData={this.state.selectedItem}
renderItem={({ item, index }) => {
const { selectedItem: sd } = this.state
const localColor = { color: sd === index ? "#cc0000" : "black", fontWeight: sd === index ? "500" : "100" }
return (
< ListItem >
<TouchableOpacity
style={{
padding: 5
}}
onPress={() =>
this.onPressList(item, index)
}>
<Text style={localColor}>{item.value}</Text>
</TouchableOpacity>
</ListItem>
)
}}
keyExtractor={(item, index) => index.toString()}
/>