Element 表格组件 el-table 列排序自动变化

简介: 本文目录1. 现象2. 解决3. 附加方案

1. 现象

使用了el-table组件后,想根据不同的条件显示不同的列,例如:


<template>

 <el-table

   :data="tableData"

   stripe

   style="width: 100%">

   <el-table-column v-if="type==1"

     prop="date"

     label="日期"

     width="180">

   </el-table-column>

   <el-table-column  v-if="type==1"

     prop="name"

     label="姓名"

     width="180">

   </el-table-column>

   <el-table-column  v-if="type==2"

     prop="address"

     label="地址">

   </el-table-column>

 </el-table>

</template>


结果会出现列的顺序不固定,按我们的设计type为1时,先显示日期列,再显示姓名列,实际上列的出现顺序有时会倒置。


甚至当列多了的时候,列名称和列内容都出现不对应。


2. 解决

将v-if改为v-show,就这么简单。


3. 附加方案

如果v-show都没用,可以直接创建多个表格,然后控制el-table的v-if。

相关文章
element-plus:el-table自定义展开图标处于列的位置
element-plus:el-table自定义展开图标处于列的位置
641 0
|
JavaScript
Vue表格显示问题:v-show无法影响el-table-column列的解决方案
Vue表格显示问题:v-show无法影响el-table-column列的解决方案
811 0
|
JavaScript
element-UI el-table动态显示隐藏列造成固定一侧的列(fixed=“left/right“)错误显示
问题原因:多个tabs共用一个实体,动态显示隐藏列 出现了固定在右侧的列(fixed="right")错位 【解决方案】 表格的重新布局,只要table数据发生变化的时候就重新渲染表格 ```js this.$nextTick(() => { this.$refs.formname.doLayout() }) ``` 参考element官方文档 ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-e40
241 0
element-UI el-table动态显示隐藏列造成固定一侧的列(fixed=“left/right“)错误显示
element-ui table排序sortable三种状态,怎么去掉默认状态
在 element-ui 中,也定义了 sort-orders 有三种状态: ascending、descending、null,这三种状态形成一个循环切换。
2606 0
|
4月前
Element UI 【表格合计】el-table 实战范例 -- 添加单位,自定义计算逻辑
Element UI 【表格合计】el-table 实战范例 -- 添加单位,自定义计算逻辑
385 0
|
5月前
|
JavaScript 前端开发
table表格和下拉组件中data为什么必须是一个函数?
table表格和下拉组件中data为什么必须是一个函数?
|
6月前
基于sortablejs实现拖拽element-ui el-table表格行进行排序
基于sortablejs实现拖拽element-ui el-table表格行进行排序
Element-ui 表格 (Table) 组件中动态合并单元格
Element-ui 表格 (Table) 组件中动态合并单元格
899 0
Element-ui 表格 (Table) 组件中动态合并单元格
|
JavaScript
VUE element-ui之table表格勾选复选框动态合计某列的值
VUE element-ui之table表格勾选复选框动态合计某列的值
587 0
VUE element-ui之table表格勾选复选框动态合计某列的值