Table表格合并列 (element ui)

图片展示

 

html

<el-table
      :data="tableData"
      style="width: 100%"
      :span-method="objectSpanMethod">
      <el-table-column
        prop="date"
        label="时间"
        width="220"
        align="center">
      </el-table-column>
      <el-table-column
        prop="name"
        label="名称"
        align="center">
      </el-table-column>
</el-table>

js

data() {
			return {
				rowSpanArr: [],
				position: 0,
				tableData: [{
					date: '周一',
					name: '王小虎'
				}, {
					date: '周一',
					name: '王小虎'
				}, {
					date: '周一',
					name: '王小虎'
				}, {
					date: '周一',
					name: '王小虎'
				}, {
					date: '周二',
					name: '王小虎'
				}, {
					date: '周二',
					name: '王小虎'
				}, {
					date: '周二',
					name: '王小虎'
				}, {
					date: '周二',
					name: '王小虎'
				}, {
					date: '周二',
					name: '王小虎'
				}, {
					date: '周二',
					name: '王小虎'
				}, {
					date: '周三',
					name: '王小虎'
				}, {
					date: '周三',
					name: '王小虎'
				}]
			}
		},
methods: {
             countRow() {
				this.rowSpanArr = [];
				this.tableData.forEach((item, index) => {
					if (index == 0) {
						this.rowSpanArr.push(1);
						this.position = 0;
					} else {
						if (this.tableData[index].date == this.tableData[index - 1].date) {
							this.rowSpanArr[this.position] += 1; //项目名称相同,合并到同一个数组中
							this.rowSpanArr.push(0);
							this.tableData[index].date = this.tableData[index - 1].date;
						} else {
							this.rowSpanArr.push(1);
							this.position = index;
						}
					}
				});
			},
			objectSpanMethod({
				row,
				column,
				rowIndex,
				columnIndex
			}) {
				if (columnIndex === 0) {
					const _row = this.rowSpanArr[rowIndex];
					return {
						rowspan: _row, //行
						colspan: 1 //列
					};

				}
			}

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值