明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 321万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

vue3 通过ref获取元素离顶部的距离

Posted on   且行且思  阅读(407)  评论(0编辑  收藏  举报

vue3版本 ^3.2.45

  • [ref].value.$el.getBoundingClientRect().top
    • 通过ref获取元素。
    • 使用 getBoundingClientRect().top 获取离顶部的距离
       
       

Vue无法读取HTMLCollection列表的length问题解决方案

实践项目时候发现一个问题

在mounted阶段,获取Element对象,console.log()可以读取出列表,而却无法读出它的length

以下出自官方文档

mounted

类型Function

详细

el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。

如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。

注意 mounted 不会承诺所有的子组件也都一起被挂载。

如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted

<a-menu
                ref="menuRef"
                v-model:selectedKeys="doublerowSelectedKey"
                :theme="sideTheme"
                class="snowy-doublerow-layout-menu"
            >

 

const menuRef = ref()
                    //等到整个视图都渲染完毕,可以用 nextTick 替换掉 mounted
                    nextTick(() => {
                        style.value = `top:${menuRef.value.$el.getElementsByClassName('ant-menu-item-selected')[0].offsetTop}px` //'top:400px;'
                        //alert(menuRef.value.$el.getElementsByClassName('ant-menu-item-selected')[0].offsetTop)
                    })

 

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示