el-table样式错乱解决方案

bug:

图片的椭圆框住的地方,在页面放大缩小之后就对不齐了。

 原因:

主要原因是当你对页面放大缩小的时候,页面进行了重构,页面的宽高及样式进行了变化,但是在这个更新的过程中,table的反应并没有及时更新或者说是没有更新造成了页面样式上的差异

解决方案:

1.使用el-table的方法

方法名 说明 参数
doLayout 对 Table 进行重新布局。当 Table 或其祖先元素由隐藏切换为显示时,可能需要调用此方法

这个方法主要是在table进行重新布局触发,主要相当于重新渲染table,防止页面的错乱

代码如下:

通过钩子函数updated页面更新时触发,然后通过ref拿到组件实例执行doLayout这个方法。

  <el-table
        border
        height="100%"
        ref="table"
        :data="tableDataL"
        tooltip-effect="dark"
        show-summary 
        :summary-method="getSummariesL"
        row-key="id"
       :row-class-name="rowClassName"
        @selection-change="handleSelectionChange"
       :row-style="rowClass" 
      >

  updated() {
    this.$nextTick(() => {
            this.$refs.table.doLayout()      
        })
},

但是仅仅加上了上面的代码,好像。。。并没有效果呐,哭了

在进行页面放大缩小时,如果出现了el-table样式上的行错乱和对不齐,可能是由于缩放引起布局问题。在这种情况下,使用 doLayout 方法可能无法解决问题

2.盒子包裹

后面发现el-table在页面中并没有被盒子包裹,table也需要通过外面的盒子控制

再弹性布局中独占一份,浏览器开启显示滚动条以便查看看不到的内容

原因是div作为块级元素可以自动适应父元素的宽度。

增加下方代码,把原来没被包裹的el-table用div包起来即可

 //html

<div class="conter" >
 <el-table>
   //内容
 </el-table>
 </div>

//css

  .conter{
    flex: 1;
    overflow: auto;
  }

查看效果:

可以清楚地看到在快速拖动的时候,列也是有点错乱的,但是当停下时立马又变成了原来的样子

不仔细看根本看不出来

 已成功解决

相关推荐

  1. el-table\vxe-table深色背景Css样式

    2024-01-20 11:36:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-20 11:36:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-20 11:36:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-20 11:36:04       82 阅读
  4. Python语言-面向对象

    2024-01-20 11:36:04       91 阅读

热门阅读

  1. LLM设计原理学习笔记

    2024-01-20 11:36:04       57 阅读
  2. QT Model/View 设计模式中 selection 模型

    2024-01-20 11:36:04       62 阅读
  3. ES进阶使用

    2024-01-20 11:36:04       46 阅读
  4. 递归组件怎么实现无线滚动

    2024-01-20 11:36:04       47 阅读
  5. Webpack5入门到原理12:处理 Html 资源

    2024-01-20 11:36:04       53 阅读
  6. 前端_we码

    2024-01-20 11:36:04       63 阅读
  7. 机器学习 -- 朴素贝叶斯分类器

    2024-01-20 11:36:04       64 阅读