我有一个FlatList
,它包含在一个视图中。
<View {...this._panResponder.panHandlers}>
<FlatList .../>
</View>
视图是panResponder
,因此当onPanResponderGrant
触发时,如何禁用FlatList的滚动。
答案 0 :(得分:18)
documentation表示FlatList
拥有ScrollView
的道具:
因此继承了它的道具(以及ScrollView的道具)
如果您检查ScrollView
的{{3}},则会看到您需要做的就是将scrollEnabled
道具设置为false以禁用滚动。你选择这样做的方式和地点取决于你,因为你没有真正发布任何代码。处理此问题的一种简单方法是使用state:
<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 })
答案 1 :(得分:0)
您可以将引用保存到FlatList并在此引用上调用setNativeProps:
this.flatList.setNativeProps({ scrollEnabled: false })
答案 2 :(得分:-2)
使用ScrollView代替View。