Ant Design Vue Table 组件合并单元格
Ant Design Vue Table 组件合并单元格
项目开发中,有时候需要实现单元格合并的需求,这里记录一下在Ant Design Vue的实现。
<template><div><a-table bordered :data-source="dataSource" :columns="columns"></a-table></div>
</template>
<script>
const dataSource = [{ key: '1', school: '林州一中', grade: '高一', class: '二班', name: '徐强' },{ key: '2', school: '林州一中', grade: '高一', class: '一班', name: '林东'},{ key: '3', school: '林州一中', grade: '高一', class: '二班', name: '李丹'},{ key: '4', school: '林州一中', grade: '高二', class: '二班', name: '刘康'},{ key: '5', school: '实验高中', grade: '高三', class: '二班', name: '杨江'},{ key: '6', school: '实验高中', grade: '高三', class: '一班', name: '陈锋'},{ key: '7', school: '实验高中', grade: '高三', class: '二班', name: '李华'},{ key: '8', school: '实验高中', grade: '高四', class: '二班', name: '赵铭'}
]const columns = [{title: '学校', dataIndex: 'school', width: '25%',scopedSlots: { customRender: 'school' }, align: 'center', key: 'school',customRender (_, row) {return {children: row.school,attrs: {rowSpan: row.schoolRowSpan}}}},{title: '年级', dataIndex: 'grade', width: '25%',scopedSlots: { customRender: 'grade' }, align: 'center', key: 'grade',customRender (_, row) {return {children: row.grade,attrs: {rowSpan: row.gradeRowSpan}}}},{title: '班级', dataIndex: 'class', width: '25%',scopedSlots: { customRender: 'class' }, align: 'center'},{title: '姓名', dataIndex: 'name', width: '25%',scopedSlots: { customRender: 'name' }, align: 'center'}
]export default {name: 'TableMerge',data () {return {dataSource,columns}},methods: {// 合并单元格rowSpan (key, data) {const arr = data.reduce((result, item) => {if (result.indexOf(item[key]) < 0) {result.push(item[key])}return result}, []).reduce((result, keys) => {const children = data.filter(item => item[key] === keys)result = result.concat(children.map((item, index) => ({...item,[`${key}RowSpan`]: index === 0 ? children.length : 0})))return result}, [])return arr},// 表格合并mergeRowCell (data) {let tableData = this.rowSpan('school', data)tableData = this.rowSpan('grade', tableData)this.dataSource = tableData}},mounted () {this.mergeRowCell(this.dataSource)}
}
</script>
合并前
:
合并第一列
:
合并第二列
:
Ant Design Vue Table 组件合并单元格相关推荐
- html table 合并单元格 分页,element table组件合并单元格
合并单元格,如果situation 一致,则合并 getSpanArr(data)方法 data就是我们从后台拿到的数据,通常是一个数组:spanArr是一个空的数组,用于存放每一行记录的合并数:po ...
- react ,ant Design UI中table组件合并单元格并展开详情的问题
需求:购物车订单列表,如图: 一:单元格合并 遇到这种你会怎么办呢? 单元格合并? 还是其他的方法? 下面是我的处理方式,就是在table 组件的columns上处理,这里拿商品举例,其余的类似, ...
- vue3 antd table表格样式修改——ant design vue table表格的行高调整
vue3 antd项目实战--修改ant design vue table组件的默认样式(调整每行行高) 知识调用 场景复现 实际操作 解决a-table表格padding过宽 知识调用 文章中可能会 ...
- ant design vue table表格组件实现隔行变色
ant design vue table表格组件实现隔行变色 一.使用方法 html代码: <a-table:columns="patient":data-source=&q ...
- ant design vue table分页
ant design vue table分页设置 1.设置pagination <a-table :columns="columns" :dataSource="d ...
- vue el-table的合并单元格与拆分单元格
vue el-table的合并单元格与拆分单元格 methods: {objectSpanMethod({ row, column, rowIndex, columnIndex }) {const f ...
- ant design vue table 高度自适应_Vue组件库大评测 Element, iView, HeyUI, Ant Design Vue
今天偶然的机会想了解下其他Vue相关的组件库,网上刚好有文章,顺便自己做一下笔记,算是资源整理吧 .好了,话不多说,直接开始: 组件库的选择对于前端开发有者至关重要的影响,而组件的丰富性以及健壮性是我 ...
- Ant table表格合并单元格使用
Ant 合并单元格+覆盖样式 项目需求: 最后一列用来展示详情,表格左侧点击行切换:要求选中行的样式和详情信息用一个边框凸显出来 结果如下: 切换效果展示如下: 实现过程: 在ant合并单元格demo ...
- HTML5 table表格合并单元格和合并边框
原文地址和代码: 原文地址 转载请备注 代码: <!DOCTYPE html> <html lang="en"> <head><meta ...
最新文章
- 基于K8S构建企业级Jenkins CI/CD平台实战(三) 之 带你实战Spring boot/Cloud 项目 CI/CD jenkins自动化构建、部署过程
- LCA(树上倍增 || rmqlca||)
- 【LeetCode】13. Roman to Integer
- 二叉搜索时与双向链表python_剑指Offer(二十六) 二叉搜索树和双向链表
- java 识别手机_java – 如何识别手机闲置?
- leetcode: 451. Sort Characters By Frequency
- python3 re模块_python3+ 模块学习 之 re
- 实验5 —— 编写、调试具有多个段的程序
- echo字符集 shell_Shell echo命令:输出字符串
- 使用Eclipse编写Processing小程序
- java构造函数注释_@Autowired的使用:推荐对构造函数进行注释
- ArcGIS之栅格地图配准
- python中集合用什么符号表示_Python 集合set添加删除、交集、并集、集合操作符号...
- 一文带你轻松了解什么是 LSL, LSR, ASL, ASR, ROL, ROR?
- 十二个“一”的演义小故事
- 图片转PDF怎么转换?快学习这三种免费转换方法!
- Bat脚本多开微信分析
- java IO流基础 万字详解(从拷贝文件到模拟上传头像)
- 《Cocos Creator游戏实战》旋转循环页视图实现
- 外企就很舒服?聊聊我在外企的工作体验