android - ScrollView中的WebView在一直向上滑动React Native Android时调用refreshControl
问题描述
我在 React Native 应用程序的 ScrollView 中有一个 WebView。ScrollView 具有 refreshControl 属性,因此当我到达应用程序顶部时可以刷新 WebView。
这就是问题所在:我滚动 WebView 没有问题,但是每当我向上滑动到页面顶部时,无论我是在页面的末尾、中间还是开头,refreshControl 都是总是触发。
当scrollY:0且scrollY总是为0时触发RefreshControl,因为滚动的不是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>
我已经删除了所有道具以尝试重新开始,但我总是遇到同样的问题。在 iOS 上它工作正常,没有这个问题。
是的,我在这个母亲视图中确实有其他东西。
解决方案
奇怪的是,我从contentContainerStyle中删除了样式并且效果很好。只是想我会删除可能阻碍该功能的额外内容。也许这是一个错误,但现在尽量避免在其中使用 Flexbox 设置。
推荐阅读
- wordpress - 使用动态用户元填充多个字段
- progressive-web-apps - 在渐进式 Web 应用程序中是否可以实现真正的持久存储?
- python - 将来自多个 pandas 数据帧的所有列连接到一个包含数据和列名的数据帧中
- qt - 在不久的将来支持 GTK WebAssembly?
- c# - 在 c# 中图像保存期间共享冲突
- css - 为什么下边框在文本下方移动?
- swift - 更改 Firestore 中的特定值时如何有效更新集合文档?
- laravel - Laravel Spark——同时配置统一费率+按座位定价?
- r - 无法在 R 中安装 openxlsx 库
- html - 使用命令提示符启动“http-server”,它正在运行但无法正常工作