San*_*jay 5 javascript typescript vue.js vuejs3
我有一个简单的 Vue 组件,根元素为ref="divRef". 然而,在onMounted函数中,divRef.value返回未定义。任何帮助将不胜感激。
import { defineComponent, onMounted, ref, Ref, h } from "vue"
export default defineComponent({
setup(props, context) {
const divRef = ref() as Ref<HTMLElement>
onMounted(() => {
console.log(divRef.value) // undefined
})
return () => {
return h(
"div",
{
ref: "divRef"
},
"This is a div"
)
}
}
})
Run Code Online (Sandbox Code Playgroud)
ton*_*y19 11
在您的render函数中,传递divRef其本身,而不是字符串:
return h(
"div",
{
//ref: "divRef" // DON'T DO THIS
ref: divRef
},
"This is a div"
)
Run Code Online (Sandbox Code Playgroud)
div默认情况下,元素没有value属性,如果您尝试访问"This is a div" ( 中的文本div),您应该使用innerText如下属性:divRef.innerText。
根据docs,您必须将 ref 本身作为返回元素中的 ref 传递,才能在 Vue 3 中访问。$el因此您的代码应该如下所示:
return () => {
return h(
"div", {
ref: divRef
},
"This is a div"
)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12658 次 |
| 最近记录: |