新闻详情

新闻详情

首页 / 资讯中心 / 详情

Vue笔记(十)--nextTick

发布时间:2026/10/1 21:37:18来源:尧图网络
Vue笔记(十)--nextTick
这一节了解一下Vue3中的nextTicknextTick是等待DOM更新完成之后执行回调的函数。Vue的响应式数据变更不会立刻更新DOM是异步批量更新nextTick就是用来在DOM渲染完毕后再执行代码。简单总结:API:import { nextTick } from vue // Promise写法async await await nextTick() // 回调写法 nextTick(() { // DOM更新完成 })场景1 数据更新后读取DOM获取更新后的文本、尺寸、位置等。2 v-if/v-show 切换后操作元素元素刚渲染出来时DOM尚未就绪。3 列表动态增删后聚焦/滚动v-for新增项后自动聚焦或滚动到末尾。栗子:template div button clickshowInput显示输入框并自动聚焦/button input v-ifflag refinputRef placeholder我会自动聚焦 / /div /template script setup langts import { ref, nextTick } from vue const flag ref(false) const inputRef refHTMLInputElement | null(null) const showInput async () { flag.value true await nextTick() inputRef.value?.focus() } /scripttemplate div button clickaddMsg新增一条消息/button div classmsg-box refboxRef div classmsg-item v-foritem in msgList :keyitem.id {{ item.content }} /div /div /div /template script setup langts import { ref, nextTick } from vue const msgList ref([ { id: 1, content: 消息1 }, { id: 2, content: 消息2 }, ]) const boxRef refHTMLDivElement | null(null) const addMsg async () { const newId Date.now() msgList.value.push({ id: newId, content: 新消息${newId} }) await nextTick() if (boxRef.value) { boxRef.value.scrollTop boxRef.value.scrollHeight } } /script style scoped .msg-box { width: 300px; height: 200px; border: 1px solid #ccc; overflow-y: auto; } .msg-item { padding: 4px; } /style注意1 仅返回PromiseVue3的nextTick()不再支持传入回调函数必须用await或.then()。2 避免滥用能用声明式模板/计算属性解决的问题不要用nextTick手动操作DOM。3 错误处理await nextTick()可能因组件卸载等抛出异常建议用try/catch包裹。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

无人机视角森林树桩燃烧图像分类:PyTorch数据集与模型训练实战 2026/10/1 22:38:38

无人机视角森林树桩燃烧图像分类:PyTorch数据集与模型训练实战

简介:面向无人机视角森林桩燃烧识别的图像分类数据集,适合计算机视觉入门及森林防火应用研究。数据已按训练集、测试集两个目录划分并分文件夹保存,每个类别分别存放,类别含燃烧、未燃烧两类,可直接用于YOLOv5分类任务…

阅读更多 →
SSH远程连接替代PuTTY的10大现代终端工具选型指南 2026/10/1 22:38:38

SSH远程连接替代PuTTY的10大现代终端工具选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
32位MCU跌破0.31元:SOP8封装的国产性价比破局者 2026/10/1 22:38:23

32位MCU跌破0.31元:SOP8封装的国产性价比破局者

1. 这颗“3毛多”的32位MCU,到底值不值得你扔掉手头的8位单片机?最近在几个国产芯片交流群里,几乎每天都有人甩出一张截图:MS32C001B SOP8封装批量单价——0.31元。不是3.1元,不是3.1元起,就是实打实的三毛…

阅读更多 →
航天智能制造规划落地:从89页PPT到可执行方案的关键要点 2026/10/1 22:38:16

航天智能制造规划落地:从89页PPT到可执行方案的关键要点

简介:面向航天制造企业数字化转型的89页PPT规划方案,围绕智能制造从现状诊断到落地实施展开,适合智能制造规划人员、信息化项目管理者及航天行业工艺/制造工程师参考。方案完整呈现业务现状与需求分析、建设目标与预期成效、一体化解决方案、…

阅读更多 →
BongoCat 模型窗口右键拖动缩放:从 ADR-0057 看无重建实时 Resize 的设计与实现 2026/10/1 22:38:16

BongoCat 模型窗口右键拖动缩放:从 ADR-0057 看无重建实时 Resize 的设计与实现

桌面应用 【免费下载链接】BongoCat 🐱 BongoCat — A cross-platform interactive desktop pet that brings fun to your desktop! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 点击查看 免费下载 导读 本文以架构决策记录 ADR-0057&…

阅读更多 →
博学谷Android欢迎页:Eclipse+ADT冷启动白屏与跳转实战 2026/10/1 22:38:16

博学谷Android欢迎页:Eclipse+ADT冷启动白屏与跳转实战

接手一个用 Eclipse 开发的 Android 老工程,第一眼看到的就是欢迎界面——它决定了用户对 App 的第一印象,也决定了你后面几个小时的调试心情。这次要拆的是「博学谷」这个在线学习类 App 的第一屏:基于 Eclipse ADT 的 Android 欢迎界面实战…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉