vue3 antd项目实战——table表格 根据属性值设置背景颜色【rowClassName添加行样式 + /deep/样式穿透 + css不可控】
创始人
2024-04-30 23:29:15

根据数据属性值添加table表格行样式(rowClassName)

  • 知识调用
  • 场景复现
    • 利用rowClassName编写行样式
    • 编写行样式函数➕筛选条件
    • 编写特定的行样式
    • 取消相应的斑马纹样式

知识调用

文章中可能会用到的知识链接
vue3+ant design vue+ts实战【ant-design-vue组件库引入】🔥🔥
vue3 antd table表格的样式修改(二)利用rowClassName给table添加行样式🔥🔥
vue3 antd项目实战——table表格(一文带你快速实现后台管理系统最常用的table表格)🔥🔥

场景复现

vue3➕antd➕ts 的项目开发中,table表格无处不在,而对于table表格的操作有很多,比如 根据表格数据的属性显示不同的样式(颜色)。本期文章将以此为实例,提供详细方案实现需求。

表格初始状态:(如下图)

  • 含表格自带的斑马纹
  • 所有行样式一致,没有根据表格数据属性区分样式

未根据表格数据的属性进行区分👇👇👇
在这里插入图片描述

未根据表格数据属性对应去除斑马纹👇👇👇
在这里插入图片描述

表格样式需求:

  • 根据表格数据的属性渲染不同的颜色样式
  • 根据表格数据的属性去除相应数据的斑马纹样式

解决方案:

  • rowClassName ➕ 筛选条件 ➕ 样式函数
  • pointer-events: none; 取消斑马纹

利用rowClassName编写行样式

表格部分:(点击了解表格是如何实现的🔥🔥)
在这里插入图片描述
如上图,绑定rowclass属性,调用rowclassname函数。(此函数即为样式函数,用于调用新的行样式)



编写行样式函数➕筛选条件

样式函数部分:
在这里插入图片描述
如上图所示,返回新的行样式。这里使用了一个三目表达式,根据表格传递的数据的属性对应相应的行样式。

const rowclassname = (record:tableInt) => {// console.log("777",toRaw(record).deleted)return toRaw(record).deleted === 1 ? 'row-color' : ''
}

ps:

  • 这里的record是表格里的删除按钮传过来的值
  • 点击删除则会改变deleted属性的值
  • toRaw是vue3里的一个函数方法,主要作用是取消数据的跟踪,UI界面不会随之更新。
// 三目运算符在这里也可以用if语句替换
const rowclassname = (record:tableInt) => {if (record.deleted === 1) {return 'row-color'} else {return ''}
}

比如在这里,如果数据的deleted属性值为1,则返回特定的行样式,否则则保持原来的样式。

编写特定的行样式

style部分:


这个时候我们来看看效果👇👇👇
在这里插入图片描述
无论触碰与否,都不会有斑马纹样式。
显然,截至目前已经实现了需求的第二点——根据数据属性去除相应的斑马纹样式


截止目前,需求已经全部实现

后续将不定期持续更新相关内容~
觉得这篇文章有用的小伙伴们
可以点赞➕收藏➕关注哦~

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...