问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Vue实现table合并相同列

发布网友 发布时间:2022-12-16 18:44

我来回答

1个回答

热心网友 时间:2023-09-18 05:23

1、在vue页面methods定义方法

methods: {

flitterData () {

const spanOneArr = []

let concatOne = 0

// 循环后端查询出来的数据(tableData),这里直接在data()中定义好了

this.tableData.forEach((item, index) => {

if (index === 0) {

spanOneArr.push(1)

} else {

// 需合并相同内容的字段,根据id判断,将id相同的name、classname合并

if (item.id === this.tableData[index - 1].id) {

spanOneArr[concatOne] += 1

spanOneArr.push(0)

} else {

spanOneArr.push(1)

concatOne = index

}

}

})

return {

one: spanOneArr

}

},

objectSpanMethod ({ row, column, rowIndex, columnIndex }) {

// 判断是否是第一、二列,如果是就将第一、二列相同字段进行合并

if (columnIndex === 0 || columnIndex === 1) {

// this.tableData 修改

const _row = (this.flitterData(this.tableData).one)[rowIndex]

const _col = _row > 0 ? 1 : 0

return {

rowspan: _row,

colspan: _col

}

}

}

}

2、在vue页面定义data

data () {

return {

// 接收后端传值数据

tableData: []

}

}

3、在vue页面定义table

标签中用 span-method引用定义的objectSpanMethod方法

<el-table p=""> </el-table>

ref="projectTable"

v-loading="loading"

:data="tableData"

:span-method="objectSpanMethod"

border

:header-cell-style="{color: 'black',fontWeight: 'bold',textAlign: 'center'}"

:cell-style="{ textAlign: 'center' }"

height="590px">

完整代码:

<el-table p=""> </el-table>

ref="projectTable"

v-loading="loading"

:data="tableData"

:span-method="objectSpanMethod"

border

:header-cell-style="{color: 'black',fontWeight: 'bold',textAlign: 'center'}"

:cell-style="{ textAlign: 'center' }"

height="590px">

效果图:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 怎么把下面php代码换成lua lua里如何通过字符串连接符反转为变量? photoshopcs怎么安装 日本的民族服装特色的英文介绍 中文英文都有最好 怎样下载和安装photoshopCS,求详解 贴片电阻rs05k560ft中的560f代表 【随笔】朱砂扣(十二) 暗黑三赛季收藏品怎么获得 暗黑3赛季奖励绝版吗 oracle数据库数据导入sqlserver的问题,求高手告诉怎么导。。_百度知... 中国沈飞的第四代战斗机现在进展如何? 2k14游戏的球员补丁怎么用 婚前买的房,离婚时如何分割 2022新婚姻法 婚前房产离婚后怎么分割 婚前买的房子,离婚时要分割吗 让家保持整洁的方法 去山西有什么好玩的景区 天津商业大学酒店管理 天津商业大学酒店管理的就业情况 天津商业大学的酒店管理专业学费多少 车险能不能提前一天买? 带石字旁的女孩名字 带石字旁的女孩名字如何取 我姓石,等我有儿子或者是女儿了,起个什么名字比较好!3字的! 有什么好书可以改变自己 可以变得会说话 说好话 改变自己修养 静心 改变自己书籍 秋去冬来天渐寒哪句接下面最恰当 出句:秋去冬来,雪落雁鸣穷人愁 秋去冬来花正艳,求下联? 下面哪一个不是公文办理制度建设的原则 唐艺昕产后首次亮相,生图状态下的她,这腰围我没看错吧 唐艺昕产后惊艳复出:为什么女明星都拥有胖瘦自如的体质? 产后修复盆底肌康复必要解剖——盆膈肌肉群 Dell D630 能支持多大的固态硬盘,是sataⅡ的吗? 快图浏览不能用 酵母提取物的注意事项? sketchup2014怎么可以用2018打开 LOL幸运召唤师7月地址_莫当非酋更好活动推荐 钱放在富途牛牛安全吗? 微信为什么不能买港股 为冷冻食品取名,高分