vue3如何通過ref屬性獲取元素
阿新 • • 發佈:2022-04-05
在vue2.x
中,可以通過給元素新增ref='xxx'
屬性,然後在程式碼中通過this.$refs.xxx
獲取到對應的元素
然而在vue3
中時沒有$refs
這個東西的,因此vue3
中通過ref
屬性獲取元素就不能按照vue2
的方式來獲取vue3
需要藉助生命週期方法,原因很簡單,在setup
執行時,template
中的元素還沒掛載到頁面上,所以必須在mounted
之後才能獲取到元素。
<script> import { onMounted, ref } from 'vue' /* ref獲取元素: 利用ref函式獲取元件中的標籤元素 功能需求: 讓輸入框自動獲取焦點 */ export default { setup() { const inputRef = ref(null) onMounted(() => { console.log(inputRef.value) inputRef.value && inputRef.value.focus() }) return { inputRef } }, } </script> 如上程式碼,
vue3
import
。這裡匯入了一個onMounted
當介面掛載出來的時候,就會自動執行
onMounted
的回撥函式,裡頭就可以獲取到dom元素
pc上是可以正常輸出的
如果在uniapp是為空,拿不到的; 用於父元件呼叫子元件的方法(是起作用的) 檢視: https://www.cnblogs.com/yuzhongyu/p/14076777.html