vue3 使用vue-masonry加载更多,重新渲染

在使用 van-list做上拉加载更多,加载下一页的时候,会出现瀑布图重叠,原因是布局没有重新更新,所以需要 调用 vue-masonry更新布局的方法。

看了源码才知道可以这样用,api都没写,隐藏太深了。。。

vue3中通过provide已经向外部导出了 redrawVueMasonry方法,所以只需要在 相应页面和组件中使用inject 接收redrawVueMasonry方法就可以使用了

复制代码
import { onMounted, ref, computed, nextTick, inject } from 'vue'
const $redrawVueMasonry = inject('redrawVueMasonry') as Function

然后在加载数据后 使用 $redrawVueMasonry()方法,即可大功告成

相关推荐
范文杰13 分钟前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪21 分钟前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪30 分钟前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy1 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom2 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom2 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom2 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom2 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom2 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试
LaoZhangAI3 小时前
2025最全GPT-4o图像生成API指南:官方接口配置+15个实用提示词【保姆级教程】
前端