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>
相关推荐
远山枫谷1 小时前
uniapp + Vue 自定义组件封装:自定义样式从入门到实战
前端·vue.js
Kakarotto4 小时前
Canvas 直线点击事件处理优化
javascript·vue.js·canvas
雨落Re8 小时前
从递归组件到 DSL 引擎:我造了一个让 AI 能"搭 UI"的运行时
前端·vue.js
codingWhat1 天前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
踩着两条虫1 天前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
SuperEugene1 天前
Vue生态精选篇:Element Plus 的“企业后台常用组件”用法扫盲
前端·vue.js·面试
bluceli1 天前
Vue 3 Composition API深度解析:构建可复用逻辑的终极方案
前端·vue.js
程序员ys1 天前
前端权限控制设计
前端·vue.js·react.js
滕青山1 天前
腾讯域名拦截查询 在线工具核心JS实现
前端·javascript·vue.js
wuhen_n1 天前
TypeScript 强力护航:PropType 与组件事件类型的声明
前端·javascript·vue.js