一文搞懂Vue3中如何使用ref获取元素节点?
warning:
这篇文章距离上次修改已过185天,其中的内容可能已经有所变动。
在Vue 3中,可以使用ref
函数来创建一个响应式引用,该引用可以用来获取DOM元素的节点。首先需要从vue
包中引入ref
函数,然后在组件的setup
函数中使用它来创建引用,并在模板中通过ref
属性绑定到DOM元素上。
下面是一个简单的例子:
<template>
<div>
<input ref="inputRef" type="text">
<button @click="focusInput">Focus Input</button>
</div>
</template>
<script>
import { ref, onMounted } from 'vue';
export default {
setup() {
// 创建一个ref引用
const inputRef = ref(null);
// 定义一个方法来聚焦输入框
const focusInput = () => {
if (inputRef.value) {
inputRef.value.focus();
}
};
// 在组件挂载后立即聚焦输入框
onMounted(focusInput);
// 返回响应式引用和方法,以便在模板中使用
return {
inputRef,
focusInput
};
}
};
</script>
在上面的例子中,我们创建了一个名为inputRef
的响应式引用,并通过ref="inputRef"
将其绑定到<input>
元素上。在setup
函数中,我们定义了一个focusInput
方法,当按钮被点击时,该方法会被触发,并使用inputRef.value
来访问输入元素并调用focus()
方法。最后,我们使用onMounted
生命周期钩子来在组件挂载后自动聚焦输入框。
评论已关闭