由于某些原因,我不得不手工用ant design vue的a-row和a-col拼凑了一个表格,好不容易添加了水平滚动条,然后发现只要拖动滚动条,左表头未设置右边框的问题就被暴露了(为什么没有设置右边框呢?因为如果设置了右边框,就跟右边的表格线重复了,相当于2px的线条,很影响美观,不拖动滚动条的时候,这个问题被完美隐藏了)。

问题如下:

解决方法:

监听滚动条,为左表头动态添加右边框。

开始滚动后,添加右边框,滚动条恢复到最左边后,去掉右边框。

给事件的两位主角都加上id属性,以便于document找到它俩。

给滚动条添加监听:

 <a-col flex="auto" style="border: 0;overflow-x: overlay;" id='right' @scroll=handleScrollScroll()>

 处理滚动监听:

methods: {
      handleScrollScroll(){
         document.querySelector("#left").style.borderRight = '1px solid';
         console.log(document.querySelector("#right").scrollLeft);
         if(document.querySelector("#right").scrollLeft==0){
           document.querySelector("#left").style.borderRight = '0';
         }
      },
}

改进后的效果:

 

Logo

前往低代码交流专区

更多推荐