React native ScrollView内部的平面列表不';卷轴
我有4个React native ScrollView内部的平面列表不';卷轴,react-native,React Native,我有4个FlatLists,其中maxHeight设置为200在滚动视图中 <ScrollView> <FlatList/> <FlatList/> <FlatList/> <FlatList/> </ScrollView> 我遇到了一个非常类似的问题,直到我在一篇关于react本机项目的GitHub问题的非常有用的评论中发现了一个几乎完整的解决方案: 问题是父组件是唯一注册滚动事件的组件。解决方案是根据媒
FlatList
s,其中maxHeight
设置为200
在滚动视图中
<ScrollView>
<FlatList/>
<FlatList/>
<FlatList/>
<FlatList/>
</ScrollView>
我遇到了一个非常类似的问题,直到我在一篇关于react本机项目的GitHub问题的非常有用的评论中发现了一个几乎完整的解决方案:
问题是父组件是唯一注册滚动事件的组件。解决方案是根据媒体的位置,根据上下文决定哪个组件应该实际处理该事件
您需要稍微修改您的结构,以:
<View>
<ScrollView>
<View>
<FlatList/>
</View>
<View>
<FlatList/>
</View>
<View>
<FlatList/>
</View>
<View>
<FlatList/>
</View>
</ScrollView>
</View>
希望你觉得这很有用 我们可以为子平面列表/滚动视图组件使用内置的道具
<FlatList nestedScrollEnabled />
这仅适用于Android(iOS默认支持嵌套滚动)。尝试将平面列表设置为嵌套
nestedScrollEnabled={true}我修复了nestedFlatList
无法在android上滚动项目的问题,只需导入FlatList
从“反应本机手势处理程序”导入{FlatList};
如果这不起作用,请尝试导入滚动视图
从'react native'导入{ScrollView};
//或
从“反应本机手势处理程序”导入{ScrollView};
您需要处理这些导入,至少在我的情况下是有效的。这是最简单的答案,需要零配置。。它就像一个符咒
<ScrollView horizontal={false}
<ScrollView horizontal={true}>
<Flatlist
...
/>
</ScrollView>
</ScrollView>
没问题!我必须自己解决同样的问题,所以我想我还是分享解决方案吧。你在这些元素上使用什么样的值来设计样式?@EricLeFort 2件事:1。第二个答案要好得多。在代码中:“this.setState({enableCrollViewScroll:false});if(this.\u myScroll.contentOffset==0&&this.state.enableCrollViewScroll==false){”setState是一个异步函数,不能保证在这个.state.enableScrollViewScroll上得到一个假值后,该行可以滚动。事实上,几乎可以肯定它不会有假值。这段代码运行良好,但当我切换到另一个视图时,它不会滚动,但当我在2019年再次滚动时,它会滚动七次,这是唯一的解决方法据我所知。尝试使用“nestedscrollenabled”时,它无法正常工作。它帮助了家长和孩子,我需要在iOS上为ScrollView内的平面列表添加此选项。这正是我需要的解决方案:)Cheers对我无效。对我无效。重复回答:DDoS对我无效必须对所有Scr执行此操作此外,FlatList上的“可滚动”功能取决于高度,它被设置为:style={{height:Dimensions.get('window').height/1.5}}
<FlatList nestedScrollEnabled />
<ScrollView horizontal={false}
<ScrollView horizontal={true}>
<Flatlist
...
/>
</ScrollView>
</ScrollView>