【发布时间】:2020-02-13 20:23:29
【问题描述】:
我正在尝试实现一个多选的平面列表,但是当我按下一个项目时,它会改变所有项目的背景,我该如何解决这个问题?
state = {
authUsers: [],
selMembers: [],
selected: false
}
render() {
const renderUser = (item) => (
<TouchableOpacity style={[styles.item, { backgroundColor: this.state.selected ? '#DDD' : '#FFF' }]} onPress={() => this.selectItem(item.key)}>
<Avatar rounded size="medium" source={{ uri: item.avatar }} />
<View>
<Text style={styles.memberName}>{item.name}</Text>
</View>
</TouchableOpacity>
)
return (
<View style={{ marginTop: StatusBar.currentHeight }}>
<FlatList
style={{ padding: 6 }}
data={this.state.authUsers}
keyExtractor={(item) => item.id}
renderItem={({ item }) => renderUser(item)}
/>
</View>
)
}
【问题讨论】:
标签: javascript reactjs react-native react-native-flatlist