vue3 ref 获取多个Dom
时间: 2023-11-10 21:01:33 浏览: 233
在Vue 3中,可以使用ref属性获取多个DOM元素。通过在v-for循环中动态绑定ref属性,并定义一个获取对应DOM元素的回调函数,可以实现这一功能。具体步骤如下:
1. 在模板中使用v-for循环来创建多个元素,并在每个元素上绑定ref属性。
2. 在setup函数中定义一个空数组,准备接收循环的DOM元素。
3. 定义一个动态ref所对应的回调函数,将获取到的DOM元素push到空数组中。
4. 将回调函数返回给模板,这样就可以获取到多个DOM元素。
请注意,由于获取多个DOM元素是在循环中进行的,所以需要在组件挂载后,即onMounted生命周期钩子中获取DOM元素。这样可以确保在获取DOM元素时,它们已经存在于DOM树中。
以下是一个示例代码:
<<引用:1.获取 v-for 循环的结点,需要动态绑定 ref 属性,并定义一个获取对应DOM元素的回调函数。
<template>
<h3 :ref="getlist" v-for="index in 3">我是一组元素{{index}}</h3>
</template>
<script>
import { ref, onMounted } from 'vue'
export default {
name: 'Ref',
setup () {
// 定义一个空数组,准备接收循环的DOM元素
let listDom = []
// 定义动态ref所对应的回调函数,将获取到的DOM元素push到空数组中
const getlist = (el) => {
listDom.push(el)
}
// 在组件挂载后获取DOM元素
onMounted(() => {
console.log(listDom) // 输出获取到的多个DOM元素
})
return {
getlist
}
}
}
</script>
引用:参考:(28条消息) vue3中通过ref属性获取DOM_李公子丶的博客-CSDN博客_vue3 通过ref获取dom。
阅读全文