[TOC]
>[success] # element ui表格列相同解决办法
![](https://img.kancloud.cn/4b/07/4b077140317e2c8a2db26322912840c3_914x561.png)
需求:原型图设计了,多列名称相同,并且序号是从 **1 - 50 的顺序** ,我们都知道正常表格是实现不了这个效果的,现在有 **2种思路 :1. 画5个表格然后把数据拆分成5份, 2. 格式化数据,致使每列数据的名称都不一样** ,就可以了,接下来我们实现的是 **第 2 种**。
**vue代码如下**
~~~
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="index1" label="序号" width="100"></el-table-column>
<el-table-column prop="name1" label="构件名称" width="100"></el-table-column>
<el-table-column prop="index2" label="序号" width="100"></el-table-column>
<el-table-column prop="name2" label="构件名称" width="100"></el-table-column>
<el-table-column prop="index3" label="序号" width="100"></el-table-column>
<el-table-column prop="name3" label="构件名称" width="100"></el-table-column>
<el-table-column prop="index4" label="序号" width="100"></el-table-column>
<el-table-column prop="name4" label="构件名称" width="100"></el-table-column>
<el-table-column prop="index5" label="序号" width="100"></el-table-column>
<el-table-column prop="name5" label="构件名称" width="100"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
lineNum: 10, // 行数
tableData: [], // 10行数据
indexArr: [ // 10 行数据的下标
// 第一行下标
[0, 10, 20, 30, 40],
// 第二行下标
[1, 11, 21, 31, 41],
// 第三行下标
[2, 12, 22, 32, 42],
// 第四行下标
[3, 13, 23, 33, 43],
// 第五行下标
[4, 14, 24, 34, 44],
// 第六行下标
[5, 15, 25, 35, 45],
// 第七行下标
[6, 16, 26, 36, 46],
// 第八行下标
[7, 17, 27, 37, 47],
// 第九行下标
[8, 18, 28, 38, 48],
// 第10行下标
[9, 19, 29, 39, 49]
]
}
},
created(){
this.getTableData()
},
methods:{
getTableData(){
// 模拟后台接口返回的数据
let arr = [
'我是1', '我是2', '我是3', '我是4',
'我是5', '我是6', '我是7', '我是8',
'我是9', '我是10', '我是11', '我是12',
'我是13', '我是14', '我是15', '我是16',
'我是17', '我是18', '我是19', '我是20',
'我是21', '我是22', '我是23', '我是24',
'我是25', '我是26', '我是27', '我是28',
'我是29', '我是30', '我是31', '我是32',
'我是33', '我是34', '我是35', '我是36',
'我是37', '我是38', '我是39', '我是40',
'我是41', '我是42', '我是43', '我是44',
'我是45', '我是46', '我是47', '我是48',
'我是49', '我是50'
]
for(let i=0;i<50;i++){ // 循环数据总条数50条,50条必须写死,根据表格固定显示数据而定
for(let k=0;k<this.lineNum;k++){ // 循环行数,默认10行
// 是否存在
let isExistIdx = this.indexArr[k].indexOf(i)
if(isExistIdx !== -1){
if(!this.tableData[k]) this.tableData[k] = {}
this.tableData[k][`index${isExistIdx + 1}`] = i+1
this.tableData[k][`name${isExistIdx + 1}`] = arr[i] || ''
}
}
}
}
}
}
</script>
~~~
最终实现效果
![](https://img.kancloud.cn/76/fe/76fe9ceb3078cbda1cc0f86cfe8aee24_1149x392.png)
- vue复选框逻辑
- get请求给后台传数组
- 提交表单时传值参数处理方案
- Element ui上传图片功能
- async和await的使用
- 时间戳转换
- 日期格式转换时间戳
- 时间戳转换日期格式
- 对深拷贝的认知总结
- vue-右键菜单功能
- textarea中换行、回车、空格的识别与处理
- element ui表格合并
- 合并行(上下行)
- 双层for循环
- 数组去重
- 瀑布流
- 前端多条件筛选
- 闭包的理解
- 改变this指向
- vue单选框逻辑
- 对象数组根据某个属性来进行排序
- vscode插件整理
- 对象数组多条件去重
- Blob类型数据转换Json数据类型
- Element ui做批量上传功能
- 前端cookie和后端cookie
- 强制转换https协议
- 给事件传额外参数
- 树形结构数据处理
- 查找所有父级数据
- 根据id筛选单条数据
- 动态引入阿里图标库
- 四舍五入
- 封装一个Promise.allSettled方法
- 判断输入框内是否有emoji表情
- element-ui的popover组件位置偏移
- formData上传文件时,携带【数组对象参数】
- 前端解压压缩包(zip)解压后上传解压的文件
- element ui表格列相同解决办法
- elementUI,table复选框多选,翻页/切换条数时保持选中状态
- cookie 和 token 的区别