x***@163.com
x***@163.com
  • 发布:2025-06-30 10:47
  • 更新:2025-06-30 10:47
  • 阅读:20

#插件讨论# 【 瀑布流 灵活配置 简单易用 兼容vue2vue3小程序、H5、app等多端 - uv_UI 】下拉刷新出现白屏?

分类:uni-app

下来刷新的时候可能会出现白屏的问题?

  • 下拉刷新的是 <scroll-view> 组件的自定义下拉刷新。
  • 页面上的瀑布流组件是有多个的。

只展示下拉刷新部分的伪代码,解决方案如下:

  1. 将原先的数据清空
  2. 然后调用瀑布流组件的 refresh()
  3. 然后在调用重新获取数据的相关函数
  4. 最后再次调用瀑布流组件的 refresh()
async function onPullUpRefreshe(tab) {  
  if (tab.refresherTriggered) {  
    return  
  }  
 // 获取某个瀑布流组件, communityWaterfalFlowRefs 存放了所有瀑布流组件的数组  
  const waterfallFlowRef = communityWaterfalFlowRefs.value[0]  
  tab.refresherTriggered = true  

  /**  
   * 优先重置数据的原因:  
   * - 防止瀑布流组件下拉刷新的时候出现白屏的问题  
   * - 解决微信控制台一直打印 slot 重复的警告问题: [Component] More than one slot named "slot1" are found inside a single component instance (in component "uni_modules/custom-waterfalls-flow/components/custom-waterfalls-flow/custom-waterfalls-flow"). The first one was accepted.  
   */  
  tab.data = []  
  waterfallFlowRef.refresh()  

  uni.showLoading({  
    title: '加载中',  
    mask: true,  
  })  
  await reloadData()  

  nextTick(async () => {  
    // sleep 是封装的 setTimeout() 函数  
    await sleep(100)  
    uni.hideLoading()  
    waterfallFlowRef.refresh()  
    tab.refresherTriggered = false  
  })  
}
2025-06-30 10:47 负责人:无 分享
已邀请:

要回复问题请先登录注册