问题描述
当在 ScrollView -> Flat-List -> map for iPhone 6s 中使用时,所有 touchables 的 onPress 函数不会触发该函数。该代码适用于所有其他设备(iPhone X、iphone11 等)。当我使用 onPressIn 时问题得到解决,但它降低了用户体验。
<ScrollView horizontal showsHorizontalScrollIndicator={false}>
<FlatList
data={props.seats}
keyExtractor={(index) => `seater${index}`}
scrollEnabled={false}
renderItem={({ item,index }) => (
{ props.seats[index].map(
(object,i) => (
<TouchableOpacity onPress={() => alert("Helllo")}>
</TouchableOpacity>
)
)}
)}
/>
</ScrollView>
解决方法
尝试删除 ScrollView
,因为 Flatlist
已经有滚动,对于 horizontal
,您可以像这样添加它
<FlatList
data={props.seats}
keyExtractor={(index) => `seater${index}`}
scrollEnabled={false}
renderItem={({ item,index }) => (
{ props.seats[index].map(
(object,i) => (
<TouchableOpacity onPress={() => alert("Helllo")}>
</TouchableOpacity>
)
)}
)}
horizontal // add it here
/>