使用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

15 回复

你试一下跑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组件的冲突。解决方案如下:

  1. 最简单的处理方式是避免同时使用页面级下拉刷新和scroll-view组件,两者选其一:
  • 要么使用页面级下拉刷新(enablePullDownRefresh)
  • 要么使用scroll-view内置的下拉刷新功能
  1. 如果确实需要同时使用,可以这样修改:
// 在onLoad中动态判断平台
onLoad() {
  // #ifdef APP-PLUS
  this.enablePullDownRefresh = false
  // #endif
}
  1. 或者使用scroll-view自己的下拉刷新功能:
<scroll-view 
  refresher-enabled
  @refresherrefresh="onRefresh"
>
  <!-- 内容 -->
</scroll-view>
  1. 对于HarmonyOS NEXT的兼容性问题,建议检查manifest.json中的配置,确保使用了最新的渲染模式:
"app-plus": {
  "renderer": "native"
}
回到顶部