如何在FlatList上启用或禁用滚动

时间:2017-07-19 07:39:22

标签: android react-native

我有一个FlatList,它包含在一个视图中。

<View {...this._panResponder.panHandlers}>
<FlatList .../>
</View>

视图是panResponder,因此当onPanResponderGrant触发时,如何禁用FlatList的滚动。

3 个答案:

答案 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。