使用scroll-view一直报Uncaught TypeError webview.setPullToRefresh is not a function的uni-app解决方案
使用scroll-view一直报Uncaught TypeError webview.setPullToRefresh is not a function的uni-app解决方案
操作步骤:
- 按照描述复现
预期结果:
- 不报错
实际结果:
- 报错
bug描述:
首先开启页面的下啦刷新功能enablePullDownRefresh,然后滑动scroll-view,就一直报Uncaught TypeError: webview.setPullToRefresh is not a function ,不知道是不是bug
| 项目信息 | 详情 |
|----------------|--------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Mac |
| PC开发环境操作系统版本号 | m2 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.65 |
| 手机系统 | HarmonyOS NEXT |
| 手机系统版本号 | HarmonyOS 5.0.1 |
| 手机厂商 | 华为 |
| 手机机型 | nova13 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于使用scroll-view一直报Uncaught TypeError webview.setPullToRefresh is not a function的uni-app解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你试一下跑hello uniapp的scroll-view示例会不会报错
更多关于使用scroll-view一直报Uncaught TypeError webview.setPullToRefresh is not a function的uni-app解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
一样,报错
不止这一个api,你看看我发的这个帖子https://ask.dcloud.net.cn/question/210040,也是会报错,但是报的错不一样
hello uniapp实例项目报错截图
你试试4.66版本的hx,我测试并没有报错
你在page.json里开启页面下拉了吗enablePullDownRefresh:true
4.66我也试了,报错,截图发了
回复 1***@163.com: 我这里也报错了,你需要下拉刷新的钩子吗?不需要可以先不开启这个选项
回复 1***@163.com: 应该是页面没定义onPullDownRefresh吧
4.66版本报错截图
报错原因我排查下
回复 DCloud_UNI_JBB: 我是用鼠标按着滑动会报错,用滚轮就不回
感谢反馈,问题已复现,已加分。
你看看这个帖子https://ask.dcloud.net.cn/question/210040,是不是也是bug,这是我调用api下载音频时报的
这是一个常见的uni-app兼容性问题,主要原因是同时启用了页面下拉刷新和scroll-view组件的冲突。解决方案如下:
- 最简单的处理方式是避免同时使用页面级下拉刷新和scroll-view组件,两者选其一:
- 要么使用页面级下拉刷新(enablePullDownRefresh)
- 要么使用scroll-view内置的下拉刷新功能
- 如果确实需要同时使用,可以这样修改:
// 在onLoad中动态判断平台
onLoad() {
// #ifdef APP-PLUS
this.enablePullDownRefresh = false
// #endif
}
- 或者使用scroll-view自己的下拉刷新功能:
<scroll-view
refresher-enabled
@refresherrefresh="onRefresh"
>
<!-- 内容 -->
</scroll-view>
- 对于HarmonyOS NEXT的兼容性问题,建议检查manifest.json中的配置,确保使用了最新的渲染模式:
"app-plus": {
"renderer": "native"
}