当前位置: 首页 > news >正文

vue3中ref绑定的节点顺序错乱

问题复现

在这里插入图片描述

在这里插入图片描述

眨眼睛这个是修正过了的,小友的应该是ref直接绑定navigationTextList对吧,
按正常想法肯定是既然这个数组会动态更新,我只需要index不就能确定是哪个节点啦,倘若只是静态数据应该不会有什么问题,
⚠️但如果出现切换一整个数组数据等操作可就该出问题了,当然了没问题的小友应该也不会看这篇博客🤣🤣🤣

我们这里简略阐述一下出现这种情况的原因,因为vue的ref是不保证其中Dom数组的顺序的,因为vue的渲染顺序与我们所需的会有偏差,至于具体原因咱不得而知,知道的大佬可以私信或留言让眨眼睛涨涨知识,总结一下问题就是出现在默认顺序不一定按照我们循环渲染的顺序

解决方法

既然默认顺序不一定按照循环渲染顺序来,那我们手写一下ref的节点绑定呗,拿到当前节点与下标,手动将这个节点绑定在这个下标对应的数组元素上不就行了

关键代码内容:

//导航文本Dom组
let navigationTextList = ref([])//手动设置导航文本DOM防止默认乱序
const setNavItemRef = (el, index) => {if (el) {navigationTextList.value[index] = (el)}
}
   //主要就是`:ref="(el) => setNavItemRef(el, index)"`这句<div class="truncate  text-center  font-[550]" @mouseover="checkNavigationTextOverflow(index)":ref="(el) => setNavItemRef(el, index)">{{ item.name }}</div>

关键代码截图:

在这里插入图片描述

在这里插入图片描述


http://www.mrgr.cn/news/16335.html

相关文章:

  • 用友U8 Cloud RepAddToTaskAction SQL注入漏洞复现
  • 如何在华为平板上开发一个web网页
  • 排序算法:
  • IPv6地址子网划分
  • Java:Instant时间
  • Codeforces Round 969 (Div. 2) 题ABC详细题解,包含(C++,Python语言描述)
  • 食家巷中秋美食,味蕾上的团圆盛宴
  • AI跟踪报道第54期-新加坡内哥谈技术-本周AI新闻: OpenAI最新模型揭晓和全AI生成的游戏革命
  • Linux | 进程池技术解析:利用无名管道实现并发任务处理(含实现代码)
  • chapter09-OOP高级部分——(内部类)——day13
  • 站长神器,AI批量生成原创文章工具免费用还能自动发布到站点
  • 高频Postman接口测试面试题
  • 【3.9】贪心算法-解最低加油次数
  • python学习——爬虫之session请求处理cookie
  • Java基础(4)- IDEA
  • 眼镜清洗机哪个品牌好?2024超声波清洗机推荐
  • 时间格式--cotroller传递时间参数
  • OJ-0830**
  • 鸿蒙版本号管理问题
  • 【三十四】springboot+easyRule初识规则引擎