多种情况下合并单元格(S-Table+Vue3)

合并单元格(S-Table+Vue3)

跨行合并:rowspan=“合并单元格的个数”
跨列合并:colspan="“合并单元格的个数”

文章目录

  • 合并单元格(S-Table+Vue3)
    • 第一列跨行合并单元格
      • template
      • script
      • 效果
    • 多列跨行合并单元格
      • template
      • script
      • 效果图
    • 多行合并可参考

第一列跨行合并单元格

template

<s-tableref="table"bordered:columns="columns":data="loadData":row-key="(record) => record.id":scroll="{ x: 1500 }":tool-config="toolConfig"
>
</s-table>

script

//初始化const columns = [{title: '姓名',dataIndex: 'name',key: 'name',customCell: (data) => {return { rowSpan: data.rowSpan || 0 }}},{title: '年龄',dataIndex: 'age',key: 'age'},{title: '住址',dataIndex: 'address',key: 'address'}]const loadData = (parameter) => {return 方法.then((res) => {//设置假数据,如有可不设置res.records = [{key: 1,name: 'coisini',age: 24,address: '0510volleyball'},{key: 2,name: 'coisini',age: 245,address: '0510volleyballw'},{key: 3,name: '胡彦斌',age: 32,address: '西湖区湖底公园1号'},{key: 5,name: '胡彦斌',age: 32,address: '西湖区湖底公园1号'},{key: 4,name: '胡彦祖',age: 42,address: '西湖区湖底公园1号'},{key: 6,name: '胡彦祖',age: 42,address: '西湖区湖底公园1号'}]let startItem = res.records[0];startItem.rowSpan = 1res.records.forEach((item, index) => {let nextItem = res.records[index + 1] || {};if (item['orgName'] === nextItem['orgName']) {startItem.rowSpan++;} else {startItem = nextItem;startItem.rowSpan = 1;}})return res}).catch((error) => {console.log(error)}).finally(() => {//...})
}

效果

在这里插入图片描述

多列跨行合并单元格

template

<s-tableref="table"bordered:columns="columns":data="loadData":row-key="(record) => record.id":scroll="{ x: 1500 }":tool-config="toolConfig"
>
</s-table>

script

	const columns = [{title: '姓名',dataIndex: 'name',key: 'name',customCell: (data) => {console.log(data, 'data')return { rowSpan: data.rowSpan || 0 }}},{title: '年龄',dataIndex: 'age',key: 'age',customCell: (data) => {console.log(data, 'data1')return { rowSpan: data.rowSpan1 || 0 }}},{title: '住址',dataIndex: 'address',key: 'address',customCell: (data) => {console.log(data, 'data2')return { rowSpan: data.rowSpan2 || 0 }}}]//loadData
const loadData = (parameter) => {return 方法.then((res) => {//设置假数据,如有可不设置res.records = [{key: 1,name: 'coisini',age: 24,address: '0510volleyball'},{key: 2,name: 'coisini',age: 245,address: '0510volleyballw'},{key: 3,name: '胡彦斌',age: 32,address: '西湖区湖底公园1号'},{key: 5,name: '胡彦斌',age: 321,address: '西湖区湖底公园1号'},{key: 4,name: '胡彦祖',age: 42,address: '西湖区湖底公园1号1'},{key: 6,name: '胡彦祖2',age: 42,address: '西湖区湖底公园1号'}]let startItem = []startItem['name'] = res.records[0]startItem['age'] = res.records[0]startItem['address'] = res.records[0]startItem['name'].rowSpan = 1startItem['age'].rowSpan1 = 1startItem['address'].rowSpan2 = 1res.records.forEach((item, index) => {let nextItem = res.records[index + 1] || {}if (item['name'] === nextItem['name']) {startItem['name'].rowSpan++} else {startItem['name'] = nextItemstartItem['name'].rowSpan = 1}if (item['age'] === nextItem['age']) {startItem['age'].rowSpan1++} else {startItem['age'] = nextItemstartItem['age'].rowSpan1 = 1}if (item['address'] === nextItem['address']) {startItem['address'].rowSpan2++} else {startItem['address'] = nextItemstartItem['address'].rowSpan2 = 1}})return res}).catch((error) => {console.log(error)}).finally(() => {//...})}

效果图

在这里插入图片描述

多行合并可参考

antd-vue table跨行合并单元格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS ------ Block的总结

前面看了Block的基本知识&#xff0c;和一些源码。但对于block怎么用的还不了解&#xff0c;代码中出现block会看不懂&#xff0c;现在来具体看一下Block的用法并做个总结。 1.Block是什么 block对象是一个C语言结构体&#xff0c;可以并入C和OC的代码中&#xff0c;Block本质…

探索以太坊世界:使用Geth打造你的私人网络

文章目录 概要名词解释Geth&#xff08;Go Ethereum&#xff09;区块链网络种类 具体流程下载geth客户端配置私链新建创世区块启动私链 连接MetaMask钱包小结 概要 在区块链领域&#xff0c;以太坊私链的搭建是学习和开发智能合约的重要一步。私链允许开发者在独立的环境中进行…

地图图源#ESRI ArcGIS XYZ Tiles系列(TMS)

目录 1、前言 2、地图图源网址 2.1、Satellite 卫星图源 2.2、Terrain 地形图源 2.3、Street 路网/标注图源 2.4、Specifity 特色设计图源 3、专业推荐”穿搭“ 4、图源配置下载及使用 图源名称图层类别特别注意谷歌 Google①地形 ②影像 ③矢量及标注 ④特色图源国内大…

python3如何提取汉字

采用正则表达式的方法对字符串进行处理。 str1 "&#xff5b;我%$是&#xff0c;《速$.度\发》中 /国、人"&#xff08;1&#xff09;提取汉字 汉字的范围为”\u4e00-\u9fa5“&#xff0c;这个是用Unicode表示的。 import re res1 .join(re.findall([\u4e00-\u9fa…

sso-oauth2单点登录功能笔记

场景&#xff1a;最近公司2个系统需要做单点登录&#xff0c;A系统作为服务器&#xff0c;认证方式是sso-oauth2方式&#xff0c;B系统作为客户端&#xff0c;token方式是ta-token&#xff0c;先来张sso-oauth2认证方式的图 前置准备工作 第一步&#xff1a;要确认谁是服务提…

kubernetes的网络通信实现原理

网络原理 Kubernetes网络原理详解&#xff1a;一、Kubernetes 网络实现1.容器到容器&#xff08;同一Pod内&#xff09;通信流程&#xff1a;2. pod之间的通信&#xff08;以Calico为例&#xff09;&#xff1a; 二、CNI 网络模型三、网络策略四、开源的容器网络方案五、 常见网…

2024年腾讯云免费服务器最新申请入口链接

腾讯云免费服务器申请入口 txybk.com/go/free 免费服务器可选轻量应用服务器和云服务器CVM&#xff0c;轻量配置可选2核2G3M、2核8G7M和4核8G12M&#xff0c;CVM云服务器可选2核2G3M和2核4G3M配置&#xff0c;腾讯云百科txybk.com分享2024年最新腾讯云免费服务器申请入口、限制…

【JavaEE初阶】网络原理|认识协议|协议分层|TCP/IP模型|封装和分用

一、认识协议 1.概念 简单来说&#xff1a;就是一种通信双方&#xff0c;对于通信规则的约定&#xff08;标准&#xff09;&#xff0c;一定是通信双方都认可的 但是这个协议不一定是认可面非常广的&#xff0c;即使是两个人之间的也可叫做协议 就好⽐⻅⽹友&#xff0c;彼此…

(十三)C++自制植物大战僵尸游戏多用户存档实现(二)

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs UserData.h 在头文件中定义了枚举类型openUserDataReturnType&#xff0c;用于表示打开用户数据文件的返回状态。FileExistError表示文件存在但是打开错误&#xff0c;FileExistCorrect表示文件在且正确&#xff0…

如何进行景气分析

景气分析是一种短期经济分析方法。主要分析短时间内&#xff08;一般指一年内&#xff0c; 或几个月内&#xff09;经济运行的态势&#xff0c;包括当前的状态和未来的趋势。景气分析可以为宏观经济政策提供重要的决策与参考信息&#xff0c;例如根据经济运行的方向、强弱可建议…

概念理解: DDR的寻址容量设计

主要内容&#xff1a;DDR寻址容量设计的概念理解示例。 DDR的数据存储在不同的bank上&#xff0c;你知道具体是如何通过数据总线和地址总线的配合&#xff0c;拿到所需的数据吗&#xff1f;通过下面这样一个简单的问题&#xff0c;我们来逐渐了解这个过程的实现。 DDR…

LeetCode 热题 100 题解:普通数组部分

文章目录 题目一&#xff1a;最大子数组和&#xff08;No. 53&#xff09;题解 题目二&#xff1a;合并区间&#xff08;No. 56&#xff09;题解 题目三&#xff1a;轮转数组&#xff08;No. 189&#xff09;题解 题目四&#xff1a;除自身以外数组的乘积&#xff08;No. 238&a…

MySql运维篇

目录 一.日志 1.1日志分类 1.2Error Log 1.3BinaryLog 1.4SlowQuery Log 二.备份 2.1备份原因 2.2备份目标 2.3备份技术 2.3.1物理备份 2.3.2逻辑备份 2.4备份方式 2.4.1完全备份 2.4.2增量备份 2.4.3差异备份 2.5备份环境准备 2.6完全备份实验 2.6.1完全备…

https协议的加密方式详解

各位大佬能多多点赞关注评论收藏&#xff0c;球球各位大佬们了&#xff01;&#xff01; &#xff01; 目录 1.为什么要加密&#xff1f; 2.如何加密 1.密钥&#xff08;yue,第四声&#xff09; 2.对称加密 3.非对称加密 4.公证机构 3.总结 1.为什么要加密&#xff1f;…

趋势分析 一元线性回归及显著性检验 GIS方法 Slope

slope斜率计算公式&#xff1a; 假设有三年的NDVI图像 加载3年栅格数据&#xff0c;公式中n取3计算分子左边&#xff1a; 3*(1*"1990.tif"2*"1991.tif"3*"1992.tif") 计算分子右边&#xff1a; 6*("1990.tif""1991.tif"&q…

算法课程笔记——STL题目

长度为2的字符串&#xff0c;当in下标为一&#xff0c;也就是\n,当i&#xff01;n&#xff0c;就是输出空格 &&且 city从citys里面取 加速后就不能混用scanf

CoFSM基于共现尺度空间的多模态遥感图像匹配方法--论文阅读记录

目录 论文 Multi-Modal Remote Sensing Image Matching Considering Co-Occurrence Filter 参考论文&#xff1a;SIFT系列论文&#xff0c; SIFT Distinctive Image Features from Scale-Invariant Keypoints&#xff0c;作者&#xff1a;David G. Lowe 快速样本共识算法…

汇智知了堂晨会聚焦:NAS应用如何赋能网络安全实战

在近期汇智知了堂网络安全75班的晨会上&#xff0c;一场关于NAS应用的深入分享完美展开。学员们以饱满的热情投入到这场安全讨论中&#xff0c;共同探索网络安全的新天地。 此次分享会聚焦于NAS的应用&#xff0c;旨在帮助学员们更好地了解NAS的定义与功能&#xff0c;掌握其在…

52.基于SpringBoot + Vue实现的前后端分离-房屋租赁系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;采用SpringBoot Vue框架&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SpringBoot Vue技术的房屋租赁系统设计与实现管理工作系统…

【Linux系统化学习】线程控制

目录 前言 POSIX线程库 线程控制 创建线程 线程终止 pthread_exit()函数 pthread_cancel()函数&#xff08;会在下面线程等待部分详解&#xff09; 线程等待 pthread_join()函数 获取线程退出码 分离线程 线程取消(pthread_cancel()函数&#xff09; 线程ID及进程…