zoukankan      html  css  js  c++  java
  • el-table刷新后table出现抖动现象

    问题描述

    el-table刷新后table出现抖动现象,而且如果使用了排序功能,点击排序后table抖动渲染后排序的选中状态图标消失了。

    问题分析

    <el-table-column
        :key="index + Math.random()" // 注意!!!
    >
    

    渲染时key使用了Math.random()导致每次都是重新渲染表头。

    所以出现抖动现象。

    问题解决

    <el-table-column
        :key="'t3' + index" // 这里写成一个固定的值就不会出现刷新数据抖动了
    >
    

    备注

    组件:element-ui el-table

    问题描述:勾选批量选择框、切换tab、输入查询条件时,table表格出现抖动,体验极差。

    原因:切换不同的tab,需要增减(显隐)不同的列,所以用v-if来控制,当增减较多列时,用v-if控制的列出现渲染不正确问题。然后发现给v-if的列绑定 key 就可以正常渲染了,一开始这样写 :key="Math.random()",开始出现上面所描述的table表格抖动闪动问题。花了较长时间去寻找解决办法,一直无果,最后发现给 key 绑定确定的值,例如 :key="1",:key="2" ,抖动现象就没了......

    总结:用 v-if 控制增减 table 的列,有时会出现渲染不对问题,可以通过给这些列绑定key以正确渲染,例如 :key="1"。踩的坑是写成 :key="Math.random()",导致出现table抖动问题

    el-table设置最大高度

    <el-table ref="tableRef" :data="data" :max-height="tableHeight"></el-table>
    
    <script>
      export default {
        data() {
          return {
             tableHeight: 0
          }
        },
        mounted() {
            this.$nextTick(() => {
                this.tableHeight = window.innerHeight - 50;
                //后面的50:根据需求空出的高度,自行调整
            })
        }
    }
    </script>
    
  • 相关阅读:
    BZOJ3518 : 点组计数
    BZOJ2217 : [Poi2011]Lollipop
    李洪强经典面试题40-可能碰到的iOS笔试面试题-C语言
    对AFN的二次封装
    李洪强经典面试题39-iOS 程序员 6 级考试(答案和解释)
    iOS五种本地缓存数据方式
    iOS开发网络篇—数据缓存
    iOS中的通知
    李洪强漫谈iOS开发[C语言-048]-打印平方表
    李洪强漫谈iOS开发[C语言-047]-数列求和
  • 原文地址:https://www.cnblogs.com/codebook/p/15379854.html
Copyright © 2011-2022 走看看