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()方法,即可大功告成

相关推荐
YongGit4 分钟前
探索 AI + MCP 渲染前端 UI
前端·后端·node.js
慧一居士42 分钟前
<script setup>中的setup作用以及和不带的区别对比
前端
RainbowSea1 小时前
NVM 切换 Node 版本工具的超详细安装说明
java·前端
读书点滴1 小时前
笨方法学python -练习14
java·前端·python
Mintopia1 小时前
四叉树:二维空间的 “智能分区管理员”
前端·javascript·计算机图形学
慌糖1 小时前
RabbitMQ:消息队列的轻量级王者
开发语言·javascript·ecmascript
Mintopia1 小时前
Three.js 深度冲突:当像素在 Z 轴上玩起 "挤地铁" 游戏
前端·javascript·three.js
Penk是个码农2 小时前
web前端面试-- MVC、MVP、MVVM 架构模式对比
前端·面试·mvc
markyankee1012 小时前
Vue.js 入门指南:从零开始构建你的第一个应用
vue.js
MrSkye2 小时前
🔥JavaScript 入门必知:代码如何运行、变量提升与 let/const🔥
前端·javascript·面试