当前位置: 首页 > news >正文

网站开发范围说明书郑州网络营销顾问

网站开发范围说明书,郑州网络营销顾问,做网站切图尺寸,云电脑永久免费版Elementvue3.0 tabel合并单元格 span-method :span-method"objectSpanMethod"详解: 在 objectSpanMethod 方法中,rowspan 和 colspan 的值通常用来定义单元格的行跨度和列跨度。 一般来说,rowspan 和 colspan 的值应该是大于等于…

Element+vue3.0 tabel合并单元格 span-method

:span-method="objectSpanMethod"详解:

在 objectSpanMethod 方法中,rowspan 和 colspan 的值通常用来定义单元格的行跨度和列跨度。

一般来说,rowspan 和 colspan 的值应该是大于等于1的整数,表示单元格的跨度。如果设置为0,则表示该单元格不跨行或列。然而,通常在 Vue 的 Element UI 表格中,rowspan 和 colspan 的值不应该为0,因为这可能会导致布局问题或显示异常。如果你尝试将 rowspan 或 colspan 设置为0,不生成单元格。

  • rowspan: 定义单元格应横跨多少行。
  • colspan: 定义单元格应横跨多少列。
  • row: 当前行的数据对象。
  • column: 当前列的配置对象。
  • rowIndex: 当前行的索引(从0开始)。
  • columnIndex: 当前列的索引(从0开始)。

HTML

<el-table :data="tableData" :span-method="objectSpanMethod"><el-table-column prop="name" label="名称" width="180"></el-table-column><el-table-column prop="part" label="部件" width="180"></el-table-column><el-table-column prop="result" label="结果" width="180"></el-table-column><el-table-column prop="img" label="图片" width="180"></el-table-column><el-table-column prop="remark" label="备注" width="180"></el-table-column><!-- 其他列定义 --></el-table>

数据:

tableData: [{name: "整车外观",part: "车架编号照片1",result: true,img: "img",remark: "remark",},{name: "整车外观",part: "车架编号照片2",result: true,img: "img",remark: "remark",},{name: "整车外观",part: "车架编号照片3",result: true,img: "img",remark: "remark",},{name: "动力传动",part: "车架编号照片1",result: true,img: "img",remark: "remark",},{name: "动力传动",part: "车架编号照片2",result: true,img: "img",remark: "remark",},{name: "动力传动",part: "车架编号照片3",result: true,img: "img",remark: "remark",},{name: "车轮和转向检查",part: "车架编号照片1",result: true,img: "img",remark: "remark",},{name: "车轮和转向检查",part: "车架编号照片2",result: true,img: "img",remark: "remark",},{name: "车轮和转向检查",part: "车架编号照片3",result: true,img: "img",remark: "remark",},],

方法:

const objectSpanMethod = ({ row, column, rowIndex, columnIndex }: SpanMethodProps) => {if (columnIndex === 0 || columnIndex === 2) {// 当前列为0的时候不进行操作单元格const name = row[column.property];const preRow = tableData.value[rowIndex - 1];const preValue = preRow ? preRow[column.property] : null;// 当前行的数据对象的name 是否和 上一行列的 name 是否相等 相等就不合并单元格if (name === preValue) {return { rowspan: 0, colspan: 0 }; // 不生成单元格} else {let rowspan = 1;for (let i = rowIndex + 1; i < tableData.value.length; i++) {const nextRow = tableData.value[i];const nextValue = nextRow[column.property];if (nextValue === name) {rowspan++;} else {break;}}return { rowspan, colspan: 1 };}}
};

下面是该代码的逻辑解释:

这段代码定义了一个名为 objectSpanMethod 的方法,该方法用于控制表格中单元格的合并。这个方法接收一个对象作为参数,该对象包含当前行的数据对象 (row)、当前列的配置对象 (column)、当前行的索引 (rowIndex) 和当前列的索引 (columnIndex)。

  • 条件判断:首先,它检查当前列的索引 (columnIndex) 是否为0。如果是,表示正在处理表格的第一列。

  • 获取数据和判断:

  • 获取当前行的数据对象中的属性值,通过 row[column.property] 获取。

  • 获取上一行的数据对象,通过 tableData.value[rowIndex - 1] 获取。然后,获取上一行相应属性的值。

  • 通过比较当前行的属性值和上一行的属性值,判断它们是否相等。
    返回值:

if

  • 如果当前行的属性值与上一行的属性值相等,则返回 { rowspan: 0, colspan: 0 },意味着不生成单元格。
  • 如果不相等,则进入另一个逻辑:

else

  • 初始化 rowspan 为1,表示当前单元格应该只占用一行。
  • 通过循环遍历下一行直到表格的末尾,检查下一行的相应属性值是否与当前行的属性值相等。
  • 如果相等,则 rowspan 值加1。
  • 如果不相等或者已经遍历到表格的末尾,则退出循环。
  • 最后,返回 { rowspan, colspan: 1 },表示单元格应跨越 rowspan 行和1列。

总的来说,这段代码是用于在Vue的Element UI表格中根据特定的逻辑(比较当前行和上一行的属性值)来控制单元格的合并。
在这里插入图片描述

http://www.wooajung.com/news/28485.html

相关文章:

  • 河北网站seo优化百度学术论文查重
  • 免费商城网站建设免费发帖推广网站
  • 专业微网站建设公司哪家好优化推广网站怎么做最好
  • 深圳网站制作建设公司推荐网络推广项目代理
  • 网站推广外链怎么做公司网站策划宣传
  • 制作图片用什么软件好2020站群seo系统
  • 武汉网站建设报价搜素引擎优化
  • 大连网络宣传网站天津网络推广seo
  • 大连企业自助建站app拉新项目
  • 网站设计制作开发旺道seo优化软件
  • 现在公众号做电影网站的发展百度推广怎么收费标准
  • 怎么在雅虎做网站收入宁波seo排名费用
  • 做外汇网站代理商seo优化工作怎么样
  • 欧洲做r18 cg的网站搜狗seo优化
  • 设计交流网站店铺推广
  • 高端网站建设 引擎技百度竞价排名的使用方法
  • 日本一级做d爱片免费网站澳门seo关键词排名
  • 一个产品有两个品牌怎么做网站百度电话号码查询
  • 粮食局网站建设方案搜索引擎营销流程是什么?
  • 做文案看什么网站哪些网站是营销型网站
  • 云阳网站建设公司新网站怎么做推广
  • 如何通过查询网站注册时间成都seo正规优化
  • 网站日常维护流程百度推广优化排名怎么收费
  • 做网站客户要求多很烦免费宣传平台有哪些
  • 公司做个网站多少钱深圳网站seo
  • 专做美妆的网站搜狗收录提交入口
  • 手机微信一体网站建设广州网站建设公司
  • 网站首页动画怎么做的百度app广告
  • 广告设计公司有什么岗位太原百度seo排名软件
  • 自己电脑做局域网网站服务器我想做网络推广找谁