1***@qq.com
1***@qq.com
  • 发布:2023-10-19 13:35
  • 更新:2023-10-19 14:53
  • 阅读:303

【报Bug】下拉加载更多组件 uni-load-more 如果更新状态太快 h5 端会报错

分类:uni-app

接口响应15毫秒,使用 setTimeout 模拟 15 毫秒,多刷新页面几次就会报错,setTimeout 调成 100 毫秒基本没有问题。

Uncaught TypeError: Cannot read properties of null (reading 'offsetWidth')
at uni-h5.es.js:7052:25
at callWithErrorHandling (vue.runtime.esm.js:1375:22)
at callWithAsyncErrorHandling (vue.runtime.esm.js:1384:21)
at HTMLDivElement.invoker (vue.runtime.esm.js:9729:9)

2023-10-19 13:35 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

应该是你直接写在setup中执行的太快了 组件都没渲染完就执行了
你放到onLoad onReady中 试试

import {onLoad,onReady} from '@dcloudio/uni-app'  
onLoad(() => {  
    // 改变组件初始状态  
    loadingStatus.value = 'loading'  
    // 模拟接口响应  
    setTimeout(() => {  
        loadingStatus.value = 'more'  
    },15)  
})
  • 1***@qq.com (作者)

    这种我也试了,一样会报错,不过我用 vue2创建项目写同样的代码不报错,在 vue3 中就报错,最后解决只展示文字,要是再报错,只能直接写一个改文字就可以了

    2023-10-19 19:11

1***@qq.com

1***@qq.com (作者)

参照 https://ask.dcloud.net.cn/question/170612
感觉是图片的问题,把 loading 图关掉就不报错了
uni-load-more 的 showIcon 改成 false

要回复问题请先登录注册