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>
相关推荐
Dread_lxy9 小时前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
龙猫蓝图11 小时前
vue el-date-picker 日期选择器禁用失效问题
前端·javascript·vue.js
peachSoda711 小时前
随手记:简单实现纯前端文件导出(XLSX)
前端·javascript·vue.js
Tttian62212 小时前
Vue全栈开发旅游网项目(11)-用户管理前端接口联调
前端·vue.js·django
龙猫蓝图13 小时前
vue el-date-picker 日期选择 回显后成功后无法改变的解决办法
前端·javascript·vue.js
刘志辉14 小时前
Pure Adminrelease(水滴框架配置)
vue.js
工业互联网专业14 小时前
Python毕业设计选题:基于Django+uniapp的公司订餐系统小程序
vue.js·python·小程序·django·uni-app·源码·课程设计
黄景圣15 小时前
CURD低代码程序设计
前端·vue.js·后端
lin-lins15 小时前
Vue 模板编译原理
前端·javascript·vue.js
customer0815 小时前
【开源免费】基于SpringBoot+Vue.JS课程答疑系统(JAVA毕业设计)
java·jvm·vue.js·spring boot·spring cloud·kafka·开源