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>
相关推荐
BillKu14 分钟前
Vue3 + TypeScript,关于item[key]的报错处理方法
前端·javascript·vue.js·typescript
A丹26 分钟前
学习Vue2的贡献指南
vue.js
零零壹1129 分钟前
零代码!3步搞定自动化测试,Apipost让你的效率飙升300%
vue.js·后端·面试
MaCa .BaKa1 小时前
33-公交车司机管理系统
java·vue.js·spring boot·maven
李是啥也不会2 小时前
Vue 组件化开发
vue.js
肠胃炎2 小时前
认识Vue
前端·javascript·vue.js
三原2 小时前
实现多选树形组件,我把递归用明白了
前端·数据结构·vue.js
H5开发新纪元3 小时前
从零到一:使用 Cursor 高效构建 Vue3 企业级官网全流程指南
前端·vue.js
多多米10054 小时前
Vue3项目自定义全局防抖节流
前端·javascript·vue.js·typescript
Kagol5 小时前
🎉TinyVue v3.22.0 正式发布:支持深色模式、增加基于 UnoCSS 的图标库、支持更丰富的 TypeScript 类型声明
前端·vue.js·开源