document.querySelector获取元素为null?

新手上路,请多包涵

vue3中,在template中使用v-for渲染组件,通过document.querySelector获取v-for循环中的dom元素,得到的是null,有什么办法可以解决呢

阅读 6k
3 个回答

1、vue的话获取dom,尽量使用ref
2、使用原生js去获取dom,需要注意:如果是初始化获取,需要在mounted后获取,如果存在数据变化,需要在nextTick中获取,这都是因为vue的vnode渲染后实际页面上需要时间,所以需要延迟获取

新手上路,请多包涵

document.querySelector 这个方法你写在哪里了,不能直接在setup里面,你要确保dom渲染后再去获取,因该使用onMounted

document.querySelector 需要在页面渲染完成之后执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题