vue3中ref动态绑定【技巧】

平常时候绑定ref

xml 复制代码
<script>
const tempRef = ref<HTMLElement>()
</script>
<template>
<div ref='tempRef'></div>
</template>

在一些场景需要动态绑定ref, ref设置是未知的需要根据动态数据来决定,那么我们需要定义一个对象进行存储绑定的ref,例:

typescript 复制代码
<script>
interface DataItem {
    id:string,
    name:string
}
const dataList:DataItem[] = [
{
    id="1",
    name:'标题1'
},
{
    id="2",
    name:'标题2'
},
{
    id="3",
    name:'标题3'
}
]
const tempRefs = ref({} as any);
const handleSetTempMap = (el: Element, item: DataItem)=>{
    if (el) {
    tempRefs.value[`temp_{item.id}`] = el;
  }
}


</script>
<template>
<div v-for="item in dataList" :key="item.id" 
:ref="(el:Element) => handleSetTempMap(el, item)"
>
</div>
</template>
相关推荐
半山烟雨半山青28 分钟前
微信内容emoji表情包编辑器 + vue3 + ts + WrchatEmogi Editor
前端·javascript·vue.js
ss2731 小时前
SpringBoot+vue养老院运营管理系统
vue.js·spring boot·后端
用户841794814561 小时前
vue 甘特图 vxe-gantt table 依赖线的使用,配置连接线
vue.js
前端 贾公子2 小时前
Eruda:移动端网页调试利器
前端·javascript·vue.js
Hashan2 小时前
Elpis:抽离业务代码,发布NPM包
前端·javascript·vue.js
脾气有点小暴2 小时前
uniapp开发APP 内嵌外部 HTTPS 链接的实现方案
vue.js·uni-app
shuaijie05183 小时前
当表格数据量过大的时候,如何使用不分页进行展示
javascript·vue.js·ecmascript
JosieBook3 小时前
【Vue】03 Vue技术——Vue.js 入门学习笔记:Hello World 案例详解
vue.js·笔记·学习
lionliu05194 小时前
JavaScript 变量声明最佳实践
前端·javascript·vue.js
计算机毕设VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计