项目场景:

1.项目中使用到element时就会用到el-table,当table的项太多时就会使用到表格某一项的固定,如下,操作项和日期被设置了fixed属性…
2.table中用到列定制时,或者表格的列根据某种条件渲染时,会出现列渲染错乱的情况,如性格列渲染到年龄一列

场景一 :问题描述及处理方式

<el-table:data="tableData"borderstyle="width: 100%"><el-table-columnfixedprop="date"label="日期"width="150"></el-table-column><el-table-columnfixed="right"label="操作"width="100"><template slot-scope="scope"><el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button><el-button type="text" size="small">编辑</el-button></template></el-table-column></el-table>

问题描述

一旦设置fixed属性,对表格进行编辑,新增等操作时,表格被设置fixed的项下面就会出现伪横线,如下


解决方案:

1.在不带scoped的公共页面样式部门添加


.el-table__fixed-right{height: 100% !important; }

我加了这个属性之后,操作栏的伪横线不见了,但是序号栏的还在,我就又加了第二个属性
2.因为我是编辑了表格加载之后就会出现这个伪横线,所以使用 el-table的doLayout方法进行重新布局,代码如下

<el-table ref="multipleTable" :data="tableData">...
</el-table>getTableList() {let targetForm = Object.assign(this.searchForm, this.reqForm, {"conferenceId": this.conferenceId})conferenceAuditApi.getPeportManList(targetForm).then(res => {this.tableData = res.data.data// console.log(this.tableData);this.total = res.data.totalthis.$nextTick(() => {this.$refs.multipleTable.doLayout()})}).finally(() => {this.tableLoading = false;});
},

以上俩方案,解决了我的表格分裂的问题,

场景二 :问题描述及处理方式

表格错乱的问题如下:单位列渲染了性别

问题描述

这种导致是表格的列是根据后期查询接口判断该条是否展示,也可以根据列定制,判断该列是否展示,如果不更新这个列key的话,显示/隐藏列的时候,部分DOM不会重新渲染,导致table变化时候内容错乱。

解决方案:

  <el-table :data="tableData" border stripe ref="multipleTable"  v-loading='tableLoading'>
<el-table-column type="index" label="序号" width="70"></el-table-column>
<el-table-column v-if="colDisplay('username')" prop="username" label="姓名" min-width="140" key="username"></el-table-column>
<!-- <el-table-column v-if="colDisplay('submitOrgCn')" prop="submitOrgCn" label="上报机构" min-width="140"></el-table-column> -->
<el-table-column v-if="colDisplay('sex')" prop="sex" label="性别" min-width="60" key="sex">
<template slot-scope="{row}">{{ $dict.getLabel('sys_sex', row.sex) }}</template>
</el-table-column>
<el-table-column v-if="colDisplay('orgName')" prop="orgName" label="单位" min-width="140" key="orgName"></el-table-column>
<el-table-column v-if="colDisplay('post')" prop="post" label="部门及职务" min-width="140" key="post"></el-table-column>
<el-table-column v-if="colDisplay('rank')" prop="rank" label="职级" min-width="140" key="rank">
<template slot-scope="{row}">{{ $dict.getLabel('participate_rank', row.rank) }}</template>
</el-table-column>
<el-table-column v-if="colDisplay('nation')" prop="nation" label="民族" min-width="140" key="nation"></el-table-column>
<el-table-column v-if="colDisplay('officePhone')" prop="officePhone" label="本人办公电话" min-width="140" key="officePhone"></el-table-column>
<el-table-column v-if="colDisplay('phone')" prop="phone" label="本人手机" min-width="140" key="phone"></el-table-column>
<el-table-column v-if="colDisplay('awardName')" prop="awardName" label="奖项名称" min-width="140" key="awardName"></el-table-column>
<el-table-column v-if="colDisplay('remarks')" prop="remarks" label="备注信息" min-width="140" key="remarks"></el-table-column>
<el-table-column v-if="colDisplay('isReceive')" prop="isReceive" label="是否接站" min-width="140" key="isReceive">
<template slot-scope="{row}">{{ $dict.getLabel('sf_yes_no_none', row.isReceive) }}</template>
</el-table-column>
<el-table-column v-if="colDisplay('arrivalDate')" prop="arrivalDate" label="到达时间" min-width="140" key="arrivalDate"></el-table-column>
<el-table-column v-if="colDisplay('arrivalSite')" prop="arrivalSite" label="到达站点" min-width="140" key="arrivalSite"></el-table-column>
<el-table-column v-if="colDisplay('arrivalFlight')" prop="arrivalFlight" label="到达航班/车次" min-width="140" key="arrivalFlight"></el-table-column>
<el-table-column v-if="colDisplay('isSend')" prop="isSend" label="是否送站" min-width="140" key="isSend">
<template slot-scope="{row}">{{ $dict.getLabel('sf_yes_no_none', row.isSend) }}</template>
</el-table-column>
<el-table-column v-if="colDisplay('leaveDate')" prop="leaveDate" label="出发时间" min-width="140" key="leaveDate"></el-table-column>
<el-table-column v-if="colDisplay('leaveFlight')" prop="leaveFlight" label="出发航班/车次" min-width="140" key="leaveFlight"></el-table-column>
<el-table-column v-if="colDisplay('leaveSite')" prop="leaveSite" label="出发站点" min-width="140" key="leaveSite"></el-table-column>
<el-table-column prop="auditStatus" label="状态" fixed="right" key="auditStatus">
<template slot-scope="{row}">{{auditStatusList[row.auditStatus]}}</template>
</el-table-column>
<el-table-column label="操作" width="200" fixed="right">
<template slot-scope="{row,$index}"><span v-if="(row.auditStatus!=='1')&&(row.auditStatus!=='5')"><el-link style="color: #c7000b;" :underline="false" type="primary" @click="edit(row)"><i class="el-icon-edit" style="padding-right: 8px"></i>编辑</el-link><el-divider direction="vertical"></el-divider></span><span v-if="(row.auditStatus!=='1')&&(row.auditStatus!=='5')"><el-link style="color: #c7000b;" :underline="false" type="primary" @click="del(row,$index)"><i class="el-icon-delete" style="padding-right: 8px"></i>删除</el-link></span>
</template>
</el-table-column>
</el-table>

在每一个el-table-column 上增加key,给每一个一个唯一标识 ,key可以是每一列的值也可以是随机数 :key=“Math.random()”

elementUI踩坑记录-el-table相关推荐

  1. osx php7 imagick,[PHP] MacOS 自带php环境安装imagick扩展踩坑记录 | 码农部落

    前言 最近学习yii2,在搭建环境后,发现在访问contact页面时报错,如下: "Either GD PHP extension with FreeType support or Imag ...

  2. vue-i18n使用及踩坑记录

    使用步骤 1. 安装 npm i vue-i18n 2. vue-cli下使用 //1. 引入 vue-i18n import Vue from 'vue' import VueI18n from ' ...

  3. mysql 使用sum limit_mysql踩坑记录之limit和sum函数混合使用问题

    问题复盘 本次复盘会用一个很简单的订单表作为示例. 数据准备 订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID) CREATE TABLE `order` ( ...

  4. 日常踩坑记录-汇总版

    开发踩坑记录,不定时更新 心得 RTFM 严谨的去思考问题,处理问题 严格要求自己的代码编写习惯与风格 注意 单词拼写 20200207 mybatis plus 自带insert插入异常 sql i ...

  5. 【mysql】 踩坑记录之derived(派生表)

    文章目录 前言 出现的问题 如何解决 方法一:改写sql 方法二:改写sql 方法三:改写sql 前言 很多时候我们常常感觉到,不要你以为,mysql要它以为.记录派生表踩坑记录. 首先说明环境mys ...

  6. Canal 及canal.admin(v1.1.5)踩坑记录

    网址:GitHub - alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 前期软件准备 上面的软件包(canal.deployer-1.1.5.tar.gz ...

  7. VUE 集成富文本编辑器及踩坑记录

    一.查看 vue版本和vue cli版本 首先要知道自己所使用的VUE 版本和 脚手架(VUE CLI)版本 这样自己无论是在百度的时候还是选择富文本编辑器对应版本的时候都方便很多 1.查看vue 版 ...

  8. NanoPi-M1 Plus(全志H3)踩坑记录

    NanoPi-M1 Plus(全志H3)踩坑记录 未带有遥控器 使用之前NanoPi-T2的遥控器,通用: 分辨率不正确 设备->画面设置->缩小95% 即可: 无法使用tinyalsa ...

  9. 为Jupyter notebook配置R kernel过程及踩坑记录

    为Jupyter notebook配置R kernel过程及踩坑记录 注意:本文为作者安装过程及折腾的过程,内容比较冗杂,如果读者想直接创建一个属于自己的子环境则参考: 如下文章: anaconda下 ...

最新文章

  1. iOS动画系列之九:实现点赞的动画及播放起伏指示器
  2. json.dumps()函数解析
  3. DM642图像平移程序学习
  4. python个人项目-软工作业个人项目wc.exe(python实现)
  5. mysql服务的基本操作_MySql(一)mysql服务的基本操作及环境配置
  6. java ajax无刷分页_asp.net+ajax+json来实现无刷新分页功能
  7. jCryptoJS 、C#互通加密(MD5版)
  8. mysql系列问答题_(2)MySQL运维基础知识面试问答题
  9. PHP 入门 - 4.正则表达式
  10. 面向对象的接口类 以及鸭子类型
  11. Python --之练习题
  12. 【医院HIS系统专题】医院HIS系统应用案例及解决方案汇总贴
  13. caffe手写数字识别-训练模型
  14. 土豆聊天poeato Chat注册账号时提示网络刺错误怎么解决
  15. win10支持8t 硬盘_教你如何解决win10系统识别不了移动硬盘?
  16. java excel 合并单元格
  17. Kinect for Unity3d----KinectManager
  18. 获取服务器端的webapps路径
  19. 时光启程了岁月里所有的狼狈
  20. MMDetection框架入门教程(一):Anaconda3下的安装教程(mmdet+mmdet3d)

热门文章

  1. Typora如何将图片使用相对路径保存到统一文件夹中(解决.md文档传输丢图片的方法)
  2. Slf4j之MDC机制
  3. python os.system()和os.popen()
  4. Python数据挖掘——烟火图像分类:传统机器学习建模方法与卷积神经网络性能比较
  5. 【批量图片识别文字命名】如何批量图片识别文字并将识别的文字重命名该图片,怎么弄?下面叫你方法
  6. Count Inversion逆序对数问题
  7. Boost库安装与使用
  8. 赋值具有的非单一 rhs 维度多于非单一下标数怎么办
  9. 【Android开发经验】LayoutInflater—— 你可能对它并不了解甚至错误使用
  10. php curl发布微博,php curl利用嘀咕、搜狐微博API发布微博