要和守约赴约
要和守约赴约
  • 发布:2022-06-10 14:02
  • 更新:2022-06-10 18:45
  • 阅读:625

下拉刷新新人踩坑经验

分类:uni-app

发帖背景:项目需要在用户登录后如果出现数据未加载的情况允许用户下拉刷新,重新获取数据。

官方文档对下拉刷新的说明:https://uniapp.dcloud.io/api/ui/pulldown.html#onpulldownrefresh

踩坑1:(个人问题)

可以看到用户需要开启下拉刷新,但是由于我需要刷新的是tabbar页面,所以我非常愚钝的设置在了(均为pages.json文件内)tabBar列表而不是pages(忘记了)从而导致无法开启下拉刷新

踩坑2:Error: [xxx]: :require(...).main is not a function

这种情况大家参加这篇文章:https://bobbyhadz.com/blog/javascript-typeerror-require-is-not-a-function

我会触发这个报错的原因是我在vue页面使用下拉刷新调用了云端函数重新拉取数据,也就是在云函数引用 const path = require('path');时结尾没有加 ;分号,补上重新运行就好了

最后附上完整函数,写在 script 即可

async onPullDownRefresh () {
console.log('触发下拉刷新了');
await userService.afterLogin(); //这里是我用于登录后拉取数据的函数,没有异步函数的话不需要写 async 和 await
setTimeout(()=>{
uni.stopPullDownRefresh(); //停止刷新
},2000)
}

1 关注 分享
2***@qq.com

要回复文章请先登录注册

要和守约赴约

要和守约赴约 (作者)

顺带记得上传云函数,不然云端调试还是会报错的
2022-06-10 18:45