使el-table通过操控鼠标滚轮横向滚动

1.创建directive文件夹,里面创建directive.js文件

复制代码
import Vue from 'vue';

Vue.directive('scroll-x',{
  inserted:function(el){
    let domClass = el.getAttribute('class')
    if(domClass.indexOf('el-table')<0){
      return false
    }
    const scrollDiv = el;
    if(scrollDiv==null){
      return false
    }
    scrollDiv.addEventListener('mousewheel', handler, false)
    const that = this
    function handler(event) {
      const detail = event.wheelDelta || event.detail;
      const moveForwardStep = 1;
      const moveBackStep = -1;
      let step = 0;
      if (detail < 0) {
        step = moveForwardStep * 100;
      } else {
        step = moveBackStep * 100;
      }
      let d = scrollDiv.querySelector('.el-table__body-wrapper')
      d.scrollLeft += step
    }
  }
})

2.在main.js中全局引入

import './directive/directives'
3.在vue页面中使用 v-scroll-x

<el-table

v-scroll-x

> </el-table>

相关推荐
kgduu12 小时前
js之json处理
前端·javascript·json
@木尘13 小时前
前端面试【 八股文篇】
前端·面试·职场和发展
吴佳浩13 小时前
OpenClaw、Claude Code 等 Agent 为什么都选择 Node.js?
前端·人工智能·langchain
小小小小宇13 小时前
React 19 useActionState 深度解析 & Vue 2.7 移植实战
前端
远山枫谷13 小时前
Vue2 vs Vue3 全面对比(含代码示例+迁移指南)
前端·vue.js
z止于至善13 小时前
服务器发送事件(SSE):前端实时通信的轻量解决方案
前端·web·服务器通信
小小小小宇13 小时前
React useState 深度源码原理解析
前端
前端小棒槌13 小时前
TypeScript 核心知识点
前端
Selicens13 小时前
turbo迁移vite+(vite-plus)实践
前端·javascript·vite
答案answer13 小时前
我的Three.js3D场景编辑器免费开源啦🎉🎉🎉
前端·github·three.js