vue3 ant-design 4.x 表格动态行样式设置

vue3 ant-design 4.x 表格动态行样式设置

1. 使用场景

告警数据需要依据是否已读展示不同的文字颜色

在这里插入图片描述

2. 实现方式

1)首先给a-table设置class,然后使用rowClassName属性绑定动态设置样式方法

<a-table
	class="alarm-table"
	:dataSource="dataSource"
	:columns="columns"
	:loading="pageLoading"
	:pagination="false"
	@change="onChange"
	:rowClassName="handleTableClass"
>
....
</a-table>

2)依据实际需求编写样式方法

const handleTableClass = (record: TableItem) => {
  if (record.is_read) {
    return 'read-row'
  } else {
    return 'unread-row'
  }
}

3)在样式文件中配置样式

.alarm-table :deep(.read-row) td {
  color: #a0a0a0;
}
.alarm-table :deep(.unread-row) td {
  color: var(--color-text);
}
是的,ant-design vue提供了修改表格样式的功能。可以通过设置表格的rowClassName属性来实现不同样式区分。首先,在表格的columns中增加一个render函数,用来根据数据返回每一样式的类名。例如: ```javascript columns: [ { title: '姓名', dataIndex: 'name', key: 'name', }, { title: '年龄', dataIndex: 'age', key: 'age', }, { title: '地址', dataIndex: 'address', key: 'address', }, { title: '操作', key: 'action', render: (text, record) => { if (record.age > 30) { return <span className="highlight-row">超过30岁</span>; } return null; }, }, ], ``` 上述代码中,添加了一个操作,根据年龄是否超过30岁来设置不同的样式,如果超过30岁,则返回一个类名为highlight-row的span元素,展示为高亮的样式。 然后,在表格的rowClassName属性设置一个回调函数,根据索引和数据源返回每一样式的类名。例如: ```javascript rowClassName: (record, index) => { if (record.age > 30) { return 'highlight-row'; } return ''; }, ``` 上述代码中,如果数据的年龄超过30岁,则返回highlight-row类名,从而实现了改变样式的效果。 最后,在CSS样式中定义.highlight-row的样式,例如: ```css .highlight-row { background-color: #ffcccc; } ``` 上述代码中,将年龄超过30岁的的背景颜色设置为粉色。通过以上方法,可以实现根据数据不同来修改表格的不同样式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值