Vue3/Nuxt3中v-for结合模板refs无法获取自定义组件DOM元素
Vue 3/Nuxt 3中v-for里自定义组件模板Ref无法获取DOM的解决方案
问题场景
使用Vue 3和Nuxt 3的Composition API及<script setup>语法开发时,在v-for循环中,原生<li>元素的模板Ref能正常获取DOM,但自定义组件<ProjectCard>的Ref返回的是组件实例(Proxy对象),无法直接拿到DOM元素。
简化代码
模板部分
<template> <main> <section v-if="projectData && projectData.projects" ref="projectSection"> <li v-for="item in listItems" ref="listItemRef"> {{ item }} </li> <div ref="sectionContainer"> <ProjectCard v-for="(project, index) in projectData.projects" ref="projectElementRefs" :key="index" :project="project" @click="handleClick(project, index)" /> </div> </section> </main> </template>
脚本部分(
相关产品推荐
相关产品推荐

