我在 React Native 应用程序的 ScrollView 中有一个 WebView。 ScrollView 具有 refreshControl 属性,因此我可以在到达应用程序顶部时刷新 WebView。
这就是问题所在:我滚动 WebView 没有问题,但是每当我向上滑动以转到页面顶部时,无论我是在页面的末尾、中间还是开头,都没有关系, refreshControl 始终被触发。
RefreshControl在scrollY:0时触发,scrollY一直为0,因为滚动的不是ScrollView而是WebView,所以ScrollView一直在scrollY:0。
我已经在 WebView 和 ScrollView 上尝试了 scrollEnabled 属性,但都没有用。
下面是代码现在的样子:
<View style={{flex: 1}}>
<ScrollView
contentContainerStyle={{flex: 1}}
refreshControl={
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={this._onRefresh.bind(this)}
/>
}
>
<WebView
ref="webview"
source={{uri: initialUrl}}
/>
</ScrollView>
</View>
我已经删除了所有 Prop 以尝试重新开始,但我总是遇到同样的问题。在 iOS 上它工作正常,没有这个问题。
是的,我在这个 mother View 中确实还有其他东西。
最佳答案
我遇到了同样的问题,但使用的是 FlatList。尝试删除 contentContainerStyle
,更具体地说是 flex: 1
。
这样,对我有用!
关于android - ScrollView 中的 WebView 每次向上滑动 React Native Android 时调用 refreshControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50535302/