在最近的项目中,有需求要做到根据字段显示列,原来以为简单的v-if可以解决。

在开发的过程中遇到问题,

<el-table ref="multipleTable"
:data="assetData"
class="select_wrap"
border
:header-cell-style="{background:'#F5F7FA'}"
style="width: 100%"
@selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" :key="Math.random()" v-if="this.systemType1 == 'OPORE'"></el-table-column> <el-table-column prop="subject" label="说明" :key="Math.random()" show-overflow-tooltip></el-table-column> <el-table-column prop="userName" label="创建用户" :key="Math.random()" show-overflow-tooltip></el-table-column> <el-table-column prop="beginTime" label="创建时间" :key="Math.random()" show-overflow-tooltip> </el-table-column> <el-table-column prop="zrson" label="不关闭原因" :key="Math.random()" width='100' show-overflow-tooltip v-if="this.systemType1 == 'OPORE'"></el-table-column> </el-table>

在不加:key="Math.random()"的时候会报错 h.$scopedSlots.default is not a function

究其原因,是因为表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用,这就是问题所在,所以,通过key去标识一下当前行是唯一的,不许复用,就行了。

添加 :key="Math.random()"

vue+elementUI表格列显示隐藏遇到bug的更多相关文章

  1. element-ui表格列金额显示两位小数

    对于金额的显示,大多情况下需要保留两位小数,比如下面的(表格采用 element-ui): 在vue.js中,对文本的处理通常是通过设置一系列的过滤器,过滤器可以用在两个地方:双花括号插值 和 v-b ...

  2. vue element-ui表格里时间戳转换成时间显示

    工作中遇到后台给的表格数据里时间是一个13位的时间戳,需要转换成时间显示在表格里, 可以用element-ui表格自带的:formatter函数,来格式化表格内容: // 时间戳转换成时间 // 使用 ...

  3. Vue ElementUI表格table中使用select下拉框组件时获取改变之前的值

    目前项目中有一个场景,就是表格中显示下拉框,并且下拉框的值可以更改,更改后提交后台更新.因为这个操作比较重要,所以切换时会有一个提示框,提示用户是否修改,是则走提交逻辑,否则直接返回,什么也不做. 之 ...

  4. vue + ElementUI 表格筛选框的高度设置,超出一定高度,显示滚动条

    相信有很多小伙伴遇到过这个问题,首先还是来看图片,筛选框我做了处理,所以和官网的有点小差别 官方网站和个人网站对比图如下: 代码如下:(F12找到该元素的class,设置高度) .el-table-f ...

  5. DataGrid列显示隐藏配置

    1.列右键事件 private void data1_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { ContextMenu ...

  6. Element-UI 表格 列过多内容换行问题

    本文地址:http://www.cnblogs.com/veinyin/p/8487098.html  一般表格不会有很多列,所以在使用时会很方便,但是如果有25+个列时,就会发现宽度完全不够用,只有 ...

  7. vue+ElementUI——表格分页(前端实现方法)

    1.使用ElementUI中的<el-table></el-table>和 <el-pagination></el-pagination>组件来实现 2 ...

  8. FineUI Grid 缓存列显示隐藏状态

    当列表字段过多时,需要隐藏掉一些,但是再次打开页面又显示出来了,FineUI没有提供缓存功能,那么自己动手,打开[ext-part2.js]找到 “if (Ext.grid.column.RowNum ...

  9. vue Element-ui 表格自带筛选框自定义高度

    el-table中可以在一行的某列进行筛选,代码如下: <el-table-column prop="classOfTest" class="test" ...

随机推荐

  1. k8s外部访问内部的service

    如果不指定Service的spec.type的值,创建的Service的类型默认为ClusterIP类型.这种类型的Service只会得到虚拟的IP和端口,只能在Kubernetes集群内部被访问. ...

  2. tornado框架设置

    路由 import tornado.ioloop #开启循环 让服务器一直等待请求的到来 import tornado.web #框架基本功能封装在此模块 #例子 class MainHendler( ...

  3. VS连接数据库字符串

    在App.config配置文件中的<Configuration>节点中添加如下代码 <connectionStrings>    // SQL Server 数据库      ...

  4. c#switch语句的用法

    switch条件语句是一种很常用的选择语句,它与if条件语句不同,它只针对某个表达式的值作出判断,从而决定执行哪一段代码. switch条件语句用到的关键字: switch case break de ...

  5. jmeter+ant+jekins的持续集成自动化搭建-基于虚拟机的linux系统

    准备软件: 1.ant压缩包,2.jmeter压缩包,3.jenkins的war包压缩包,4.tomcat压缩包,5.build.xml文件,6.jmeter生成的***.jmx格式文件. 基本原理: ...

  6. Delphi 窗口操作

    unit UnitWinUtils; interface uses Windows; Type TDWA128=Array [..] of LongWord; TDWA256=Array [..] o ...

  7. MySQL Windows环境变量设置

    问题:MySQL无法全局使用 1.查找MySQL路径 2.添加环境变量 3.验证功能

  8. (转)php读取文件使用redis的pipeline导入大批量数据

    第一次写博客,哈哈,纯属用来记录一下自己工作中遇到的问题及解决办法. 昨天因为工作的需求,需要做一个后台上传TXT文件,读取其中的内容,然后导入redis库中.要求速度快,并且支持至少10W以上的数据 ...

  9. vuecli3.0安装搭建项目

    1. npm install -g @vue/cli 2. vue create wechat Linter / Formatter 可以不选 检查空格的 //选择less //标准eslint // ...

  10. 一千行ABAP代码实现Windows传统游戏扫雷

    *&---------------------------------------------------------------------* *& Report ZCHENH087 ...