南七星之家 发表于 2024-10-7 00:14:40

elementui 修改el-tabs底部滑块划线的transform滑动距离

因为自界说了tab栏样式,tab下面的划线就出现了错位,调样式调了很久都差点意思,最后决定动态修改划线部门的transform样式;
代码部门:
html部门
<el-tabs v-model="activeName" @tab-click="handleClick" stretch>
...
</el-tabs>
js部门
handleClick(tab) {
      this.activeName = tab.name;
      // 修改el-tabs的transform滑动距离
      this.$nextTick(() => {
      const index = tab.index
      let ele = document.getElementsByClassName('el-tabs__active-bar'); // 获取tab底部滑块划线元素
      let cele = document.getElementsByClassName('el-tabs__item'); // 获取tab-item元素
      const rect = cele.getBoundingClientRect(); // 获取某个元素距离窗口四边的距离
      const left = rect.left;
      // console.log('cele', cele, rect, left);
      // 我页面tab有3个,这里只处理了3个tab时候的滑动距离,根据自己项目的实际情况来修改
      let distance = index == 0 ? left+18.5 : index == 1 ? left+18 : left+28.5;
      // console.log('distance--', index, distance);
      ele.style.transform = `translateX(${distance}px)`
      })
    },

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: elementui 修改el-tabs底部滑块划线的transform滑动距离