Vue笔记(十)--nextTick

发布时间:2026/10/1 21:37:21

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包裹。
延伸阅读

更多相关文章

2026/10/1 21:37:21

同城上门服务APP全栈开发实战:从架构设计到部署上线

1. 同城上门服务APP的整体设计思路 做同城上门服务类APP,说到底是把“人找服务”和“服务找人”这件事搬到手机上。用户打开APP能快速找到附近的上门维修、保洁、家政、搬家、宠物寄养等各类服务,服务人员则能接到平台派的单子,完成上门交付。…

2026/10/1 21:37:21

HarmonyOS 7 + ArkTS-AI Kit:文搜图增量索引与结果一致性【鸿蒙心迹】

一、搜索结果没错,错的是它属于昨天 PhotoIndex Lab 的第一版已经能用文字搜索本地照片。输入“海边日落中的红色风筝”,端侧语义检索会返回相似图片,演示时很顺。真正放进相册整理流程后,一个不太显眼的问题出现了:用…

2026/10/1 21:32:20

决策者的合规盾牌:在签字前锁定文件隐性风险

每一次文件签发、制度落地、政策发文,本质上都是一次正式决策背书。 流程完整、格式规范、签字齐全,并不等于风险为零。对政企高层决策者而言,真正棘手的问题不是“有没有流程”,而是能否在有限时间内,看清文件背后的真…

2026/10/1 22:42:51

基于Python的电商用户购买行为数据分析系统实战拆解

做数据分析的朋友应该都遇到过这类需求:拿到一堆电商订单数据,不知道从哪下手,想知道哪些用户值得运营、哪些商品适合捆绑、复购率为什么上不去。市面上现成的BI工具要么贵要么笨,定制程度也有限。这个“基于Python的电商用户购买…

2026/10/1 22:42:51

OpenClaw一键部署脚本全解析:从环境配置到报错排查

其实一开始我没觉得这个脚本能火。只是在一个周五晚上,我实在受不了反复手动敲命令行去配置 OpenClaw 的环境,就写了个一键部署的脚本丢到了 GitHub 上。结果第二天醒来,仓库的 Star 和 Issue 通知直接把我从床上炸起来了,后台数据…

2026/10/1 22:42:51

微信小程序健身管理系统毕业设计:Java+MySQL完整源码与避坑指南

简介:这份资源是面向高校计算机相关专业学生与Java初学者的一套微信小程序毕业设计完整项目,主题为健身管理系统及会员服务,适合用作毕业设计、课程设计或小程序全栈练手参考。项目采用微信小程序开发工具搭配Java后端、MySQL数据库与B/S架构…

2026/10/1 22:42:51

AI工程从零实战:用PyTorch手搭完整生产级应用链路

这个项目是我个人维护的一个实操系列,名字就叫ai-engineering-from-scratch。起因很简单:我见过太多人用现成的框架能跑通 demo,但一到生产环境就崩。模型训练只是 AI 工程里很小的一段,数据、部署、监控、迭代每一环都有坑。所以…

2026/10/1 22:37:51

校园用电项目的成败,关键在智能插座这一环

做过校园用电项目的人都懂一个道理:验收单上的点位全是绿灯,不代表系统真的能用。平台演示漂亮得很,能耗看板、异常告警、功率曲线一应俱全,但真正跑上三个月,运维群里的消息就开始刷屏——这个宿舍断电没反应&#xf…

2026/10/1 5:21:14

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑