我有一个FlatList,它被 Package 在一个视图中。
FlatList
<View {...this._panResponder.panHandlers}> <FlatList .../> </View>
View是一个panResponder,那么如何在onPanResponderGrant触发时禁用FlatList的滚动。
panResponder
onPanResponderGrant
f5emj3cl1#
documentation声明FlatList具有ScrollView的属性:因此继承了它的props(以及ScrollView的props)如果查看ScrollView的文档,您将看到您所需要做的就是将scrollEnabled属性设置为false以禁用滚动。如何以及在哪里你选择这样做将取决于你,因为你没有真正张贴任何代码。处理这个问题的一个简单方法是使用state:
ScrollView
scrollEnabled
<FlatList ... scrollEnabled={this.state.scrollEnabled} /> // Change the state to the appropriate value in onPanResponderGrant: // To enable: this.setState({ scrollEnabled: true }) // To disable: this.setState({ scrollEnabled: false })
tv6aics12#
您可以将ref保存到FlatList并在此ref上调用setNativeProps:
this.flatList.setNativeProps({ scrollEnabled: false })
jdgnovmf3#
<FlatList data={data} scrollEnabled={false} <---- use this showsVerticalScrollIndicator={false} keyExtractor={item => item.id} renderItem={renderItem} />
bt1cpqcv4#
使用ScrollView而不是View。
4条答案
按热度按时间f5emj3cl1#
documentation声明
FlatList
具有ScrollView
的属性:因此继承了它的props(以及ScrollView的props)
如果查看
ScrollView
的文档,您将看到您所需要做的就是将scrollEnabled
属性设置为false以禁用滚动。如何以及在哪里你选择这样做将取决于你,因为你没有真正张贴任何代码。处理这个问题的一个简单方法是使用state:tv6aics12#
您可以将ref保存到FlatList并在此ref上调用setNativeProps:
jdgnovmf3#
bt1cpqcv4#
使用ScrollView而不是View。