elementui offsetleft
ElementUI 获取 offsetLeft 的方法
在 ElementUI 中获取元素的 offsetLeft 可以通过原生 JavaScript 或 Vue 的 $refs 实现。以下是几种常见方法:
使用 Vue 的 ref 获取 DOM 元素
在模板中为元素添加 ref 属性:
<el-button ref="myButton">按钮</el-button>
在 Vue 实例中通过 $refs 访问:

const offsetLeft = this.$refs.myButton.$el.offsetLeft;
通过原生 DOM 方法获取
使用 document.querySelector 或 getElementById:
const element = document.querySelector('.el-button');
const offsetLeft = element.offsetLeft;
处理动态渲染的组件

对于动态渲染的组件(如 v-for 生成的列表),需确保 DOM 已更新:
this.$nextTick(() => {
const offsetLeft = this.$refs.myButton.$el.offsetLeft;
});
注意事项
offsetLeft是相对于父元素的偏移量,若父元素有定位(如position: relative),需注意计算基准。- 对于嵌套组件,可能需要通过
$el访问底层 DOM 节点。
如需获取相对于视口的绝对位置,可改用 getBoundingClientRect():
const rect = this.$refs.myButton.$el.getBoundingClientRect();
const left = rect.left;






