【前端】vue3+ts+vite,el-table表格渲染记录重复情况

给自己一个目标,然后坚持一段时间,总会有收获和感悟!
在使用vue的过程中,总会遇到一些有疑问的地方,总结就能够加深印象,下次再出现的时候也有个参考的地方。

目录

  • 一、常见属性
  • 二、重复原因
  • 三、高阶用法
    • 3.1、自定义列模板
    • 3.2、自定义表头样式
    • 3.3、自定义行样式和操作列
    • 3.4、分页和排序
    • 3.5、表格合并
    • 3.6、自定义空数据提示
    • 3.7、自定义加载状态

一、常见属性

Element UI 的 el-table 组件是一个强大的表格组件,提供了许多常见的属性来配置和定制表格的外观和行为。

【下面是一些常见的 el-table 属性的介绍】

  • data:表格的数据源,可以是一个数组或者一个接受 Promise 的函数。
  • columns:定义表格的列配置,每个列配置使用 el-table-column 组件。
  • border:是否显示表格边框,可选值为 true 或者 false
  • stripe:是否显示斑马纹样式,可选值为 true 或者 false
  • show-header:是否显示表格头部,可选值为 true 或者 false
  • highlight-current-row:是否高亮当前行,可选值为 true 或者 false
  • row-key:指定行的唯一标识符,用于优化渲染和追踪变化。
  • size:表格的尺寸,可选值为 medium(默认值)、small 或者 mini
  • height:表格的高度,可以是一个固定值(如 "300px")或者一个接受计算值的函数。
  • max-height:表格的最大高度,超出部分会显示滚动条。
  • index:是否显示索引列,可选值为 true 或者 false
  • fit:宽度是否自适应父元素,可选值为 true 或者 false
  • show-summary:是否在表尾显示总结行,可选值为 true 或者 false
  • sum-text:总结行的文本,用于自定义总结行的显示文案。

这里列举了一些常见的属性,如果你想了解更多的属性和配置,请参考 Element UI 的官方文档。

希望这些信息能够帮助到你!如果还有其他问题,请随时提问。

二、重复原因

一般会有两种原因
1)第一种是,本身数据源记录重复
2)第二种是,数据源返回10条,有2条id编号唯一标识重复
解决方法,想办法确保id标识唯一。
这里假设数据源中每个项都有一个唯一的 id 属性。你可以根据你的实际情况将 row.id 替换为你的唯一标识符的字段名。

  • 例如:
<el-table :data="tableData" :row-key="row => row.id"><!-- 表格列配置 -->
</el-table>

三、高阶用法

Element UI 的 el-table 组件提供了许多高级用法,可以帮助你更灵活地定制和使用表格。

【以下是一些常见的高级用法】

3.1、自定义列模板

通过 el-table-columnslot-scope 属性,可以自定义列的内容和样式。使用作用域插槽(Scoped Slots)来访问当前行的数据,可以实现更复杂的列模板。

<el-table :data="tableData"><el-table-column prop="name" label="姓名"><template slot-scope="scope"><span style="color: {{scope.row.color}}">{{ scope.row.name }}</span></template></el-table-column>
</el-table>

3.2、自定义表头样式

通过 scopedSlots 属性,可以自定义表头的样式和内容。可以用作用域插槽来访问表头的数据,实现定制的表头模板。

<el-table :data="tableData" row-class-name="highlight-row">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button @click="deleteRow(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>

3.3、自定义行样式和操作列

通过 row-class-name 属性,可以为行生成自定义的 CSS 类名,从而实现自定义的行样式。同时,可以在列配置中定义操作列,为每一行添加自定义的操作按钮或者功能。

3.4、分页和排序

通过 pagination 属性,可以为表格配置分页功能。设置 sort-bysort-orders 属性可以启用表格的排序功能。

<el-table :data="tableData" :pagination="true">
<el-table-column prop="name" label="姓名" sortable></el-table-column>
<el-table-column prop="age" label="年龄" sortable></el-table-column>
<el-table-column prop="gender" label="性别" sortable></el-table-column>
</el-table>

3.5、表格合并

通过 span-method 属性,可以自定义单元格的合并策略,用于实现表格的单元格合并。

<el-table :data="tableData">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column prop="department" label="部门" :span-method="spanMethod"></el-table-column>
</el-table>
spanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 2) {
if (row.department === 'HR') {
return {
rowspan: 2,
colspan: 1
};
}
if (row.department === 'Finance') {
return {
rowspan: 0,
colspan: 0
};
}
}
}

3.6、自定义空数据提示

通过 empty-text 属性,可以设置表格数据为空时显示的自定义提示文本。

3.7、自定义加载状态

通过 loading 属性可以指定表格的加载状态,同时可以使用 loading-text 属性设置加载中的文本提示。

以上是一些常见的高级用法示例,Element UI 的 el-table 组件还提供了更多强大的功能和属性,可以根据具体需求进行定制。

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

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

相关文章

Claude 发布2.1 版本,重大升级更新来看看有什么新功能?

11 月 23 日消息&#xff0c;OpenAI 竞争对手 Anthropic 日前推出了 Claude 2.1 聊天机器人及对应同名 AI 模型Claude 2.1&#xff0c;本文将总结Claude 2.1的主要功能。 增强的处理能力 上下文处理量大幅提升&#xff1a;Claude 2.1 现在能处理高达 200K上下文标记&#xff…

2、单片机及开发板介绍

单片机介绍 单片机&#xff0c;英文Micro Controller Unit,简称&#xff1a;MCU 内部集成&#xff1a;CPU、RAM(随机存储器)、ROM&#xff08;只读存储器&#xff09;、定时器、中断系统、通讯接口等 作用&#xff1a;信息采集&#xff08;传感器&#xff09;、处理&#xff0…

uniapp 适配部分IPhone手机底部安全距离

部分 IOS 机型&#xff0c;比如 Iphone X 的屏幕底部有一条“小黑线”区域&#xff0c;uniapp 项目中我们可以使用CSS的 env(safe-area-inset-bottom) 语句来自适配 IOS 的底部安全区域高度&#xff0c;这个语句会返回该机型的底部安全区域高度&#xff08;单位 px&#xff09;…

ffmpeg播放器实战(播放器流程)

1.流程图 1.main窗口创建程序窗口 程序窗口构造函数执行下面内容 2.开启播放 3.开启解码 4.开启渲染 5.反馈给ui 本文福利&#xff0c; 免费领取C音视频学习资料包学习路线大纲、技术视频/代码&#xff0c;内容包括&#xff08;音视频开发&#xff0c;面试题&#xff0c;FFmpeg…

Linux C++ 服务器端这条线怎么走?一年半能做出什么?

Linux C 服务器端这条线怎么走&#xff1f;一年半能做出什么&#xff1f; 既然你是在校学生&#xff0c;而且编程语言和数据结构的基础还不错&#xff0c;我认为应该在《操作系统》和《计算机体系结构》这两门课上下功夫&#xff0c;然后才去读编程方面的 APUE、UNP 等书。 最…

【深度学习】如何选择神经网络的超参数

1. 神经网络的超参数分类 神经网路中的超参数主要包括: 1. 学习率 η 2. 正则化参数 λ 3. 神经网络的层数 L 4. 每一个隐层中神经元的个数 j 5. 学习的回合数Epoch 6. 小批量数据 minibatch 的大小 7. 输出神经元的编码方式 8. 代价函数的选择 9. 权重初始化的方法 …

C语言哈希查找

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXKEY 1000 typedef struct Info_s {int num;char name[30];int age;char addr[30]; }Info_t, *pInfo_t; //哈希函数 int hash(char *key) {int h 0…

软件测试之安全测试

软件安全测试是指对软件的安全性能和安全缺陷进行检测和评估的过程&#xff0c;目的是保证软件的安全性和稳定性&#xff0c;防止软件受到恶意攻击或者泄露敏感信息。 软件安全测试要怎么测&#xff0c;主要取决于软件的安全需求、风险和威胁。 在这我准备了一份软件测试视频…

C语言--给定一个数组,把第一项的值减去第二项的值,第二项的值减去第三项的值,第三项的值减去第四项的值,依次类推。放到一个新的数组中,并打印新的数组

一.题目描述&#xff1a; 给定一个数组&#xff0c;把第一项的值减去第二项的值&#xff0c;第二项的值减去第三项的值&#xff0c;第三项的值减去第四项的值&#xff0c;依次类推。放到一个新的数组中&#xff0c;并打印新的数组。 比如&#xff1a;输入一个数组是5&#xff…

SA实战 ·《SpringCloud Alibaba实战》第14章-服务网关加餐:SpringCloud Gateway核心技术

大家好,我是冰河~~ 一不小心《SpringCloud Alibaba实战》专栏都更新到第14章了,再不上车就跟不上了,小伙伴们快跟上啊! 在《SpringCloud Alibaba实战》专栏前面的文章中,我们实现了用户微服务、商品微服务和订单微服务之间的远程调用,并且实现了服务调用的负载均衡。也基…

Nginx结合cpolar实现内网穿透多个Windows Web站点端口

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

[autojs]利用console实现悬浮窗日志输出

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"开启悬浮窗" textSize"15sp" /><button id"autoService" text"开启无障碍服务" textSize"15sp" /><button id"…

vue中怎么根据选择的名称 生成印章图片

项目中需要根据选择的印章名称&#xff0c;动态生成印章 &#xff0c;印章下方显示当前的日期 代码如下 <template><div><label for"name">选择名称&#xff1a;</label><select id"name" v-model"selectedName">…

技术面时,一定要掌握这3个关键点

前言 现在有这么多优秀的测试工程师&#xff0c;大家都知道技术面试是不可避免的一个环节&#xff0c;一般技术面试官都会通过自己的方式去考察你的技术功底与基础理论知识。 如果你参加过一些大厂面试&#xff0c;肯定会遇到一些这样的问题&#xff1a; 1、看你项目都用到了…

机器学习/sklearn 笔记:K-means,kmeans++,MiniBatchKMeans

1 K-means介绍 1.0 方法介绍 KMeans算法通过尝试将样本分成n个方差相等的组来聚类&#xff0c;该算法要求指定群集的数量。它适用于大量样本&#xff0c;并已在许多不同领域的广泛应用领域中使用。KMeans算法将一组样本分成不相交的簇&#xff0c;每个簇由簇中样本的平均值描…

为什么要写测试用例,测试用例写给谁看?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

mysql查询统计最近12个月的数据

项目场景&#xff1a; mysql查询统计最近12个月的数据&#xff0c;按每个月纵向展示&#xff0c;效果图 sql语句 注意&#xff1a;count( v.uuid ) 这里的是被统计那张表的id SELECT m.month,count( v.uuid ) AS total FROM (SELECT DATE_FORMAT(( CURDATE()), %Y-%m ) AS mon…

Leetcode—6.N字形变换【中等】

2023每日刷题&#xff08;三十七&#xff09; Leetcode—6.N字形变换 算法思想 参考k神的题解 实现代码 class Solution { public:string convert(string s, int numRows) {if(numRows < 2) {return s;}vector<string> rows(numRows);int flag -1;int i 0;for(…

JMeter集结点的使用场景以及如何使用?

JMeter是一个开源的负载测试工具&#xff0c;它被广泛用于测试应用程序、Web服务和网络协议等的性能。在JMeter中&#xff0c;集结点&#xff08;JMeter Cluster&#xff09;是一种分布式测试环境&#xff0c;它允许多个JMeter实例同时工作来模拟高并发负载。 使用集结点的场景…

聚水潭连接API,集成无代码开发,优化电商平台运营

聚水潭连接API&#xff0c;实现电商平台的高效运营 聚水潭作为一款SaaS ERP解决方案&#xff0c;通过其出色的产品和服务&#xff0c;迅速在市场上占据了一席之地。而其无代码开发的特点&#xff0c;为电商系统和客服系统的连接与集成提供了便利。聚水潭开放平台的优势在于&am…