猿问

vue中如何获取元素相对浏览器窗口的位置信息

有一个input标签,初始化渲染之后怎么获取它相对屏幕的x, y 坐标?

<el-input size="mini"
    ref="nodesSearchInput"
    @keyup.enter.native="filterNode"
    placeholder="输入节点,按Enter搜索"
    v-model.trim="filterText"
    ></el-input>

使用this.$refs['nodesSearchInput'].getBoundingClientRect()获取到的undefined,使用this.$refs['nodesSearchInput'].offsetWidth也是undefined。
请问应该如何获取???


慕容森
浏览 4766回答 2
2回答

RISEBY

`el-input`是一个组件,`this.$refs['nodesSearchInput']`获取到的是一个`VueComponent`啊,你执行`getBoundingClientRect`会报错的吧。 你可以用`this.$refs['nodesSearchInput'].$el.getBoundingClientRect()`

慕后森

this.$refs.nodesSearchInput.$el.getBoundingClientRect()
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答