问题 eltable组件中,column设置fixed属性的情况下下,垂直滚动出现表格错位的问题。

分析 column在设置fixed=“left”或fixed=“right”后,在table对应位置增加了对应个数column,它们都被设置为position: fixed。下面的table只是被固定column遮盖,当垂直方向滚动事件时,两侧固定column动态计算滚动高度。但是实际使用计算时候会受头部样式padding影响而计算出错,导致出现表格错位的问题。

解决方式

        笔者是给table组件添加自定义指令解决的,有兴趣的朋友可以自己封装组件。

   代码如下

// 解决table组件添加fixed属性滚动时表格错位问题

Vue.directive(‘fixedscroll‘, {

            inserted: function (el) {

                // 获取tablebody 

                let targetEl = document.querySelector(“.eltable .eltable__bodywrapper“);           

                // 监听滚动事件

                targetEl.addEventListener(“scroll“, setFixedScrollTop);

                function setFixedScrollTop(params) {

                    // table滚动的高度

                    let top = target.scrollTop;

                     

                  //  获取table头部

         let tableHead = document.querySelector(“.eltable .el-table__headerwrapper“);

                  // 头部高度

                   let height = tableHead.clientHeight

                    // 左定位盒子

                    let fixedLeft = document.querySelector(“.el-table__fixed .el-table__fixed-bodywrapper“);

                    // 右定位盒子

                    let fixedRight = document.querySelector(“.el-table__fixed-right .el-table__fixed-bodywrapper“);

                    // 向上偏移量

                    let fixedTop = heighttop;

                    if (fixedLeft) fixedLeft.style.top = fixedTop + “px

   

                    if (fixedRight) fixedLeft.style.top = fixedTop + “px

                }

                

            }

       

    })

原文地址:https://blog.csdn.net/m0_64210617/article/details/129772066

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_45504.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注