react antd 中table使用rowClassName实现行样式添加背景色
时间: 2024-03-12 16:45:35 浏览: 157
在 React Ant Design 中,使用 `rowClassName` 属性可以为表格的每一行添加样式。具体实现方法如下:
1. 首先,在表格组件中设置 `rowClassName` 属性,值为一个回调函数。
2. 回调函数接收一个参数,即当前行的数据对象,可以根据这个数据对象来判断应该为当前行添加哪些样式。
3. 在回调函数中返回一个字符串,字符串即为添加给当前行的样式类名。
下面是一个简单的例子:
```jsx
import React from 'react';
import { Table } from 'antd';
const dataSource = [
{
key: '1',
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
},
{
key: '2',
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
},
{
key: '3',
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
},
];
const rowClassName = (record, index) => {
if (index % 2 === 0) {
return 'even-row';
} else {
return 'odd-row';
}
};
const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
},
{
title: 'Address',
dataIndex: 'address',
key: 'address',
},
];
const App = () => {
return <Table dataSource={dataSource} columns={columns} rowClassName={rowClassName} />;
};
export default App;
```
在上面的例子中,我们定义了一个回调函数 `rowClassName`,该函数接收两个参数:`record` 表示当前行的数据对象,`index` 表示当前行的索引。在该函数中,我们判断当前行的索引是否为偶数,如果是偶数,就返回样式类名 `even-row`,否则返回样式类名 `odd-row`。最后将该函数作为 `rowClassName` 属性传递给 `Table` 组件,即可实现为表格的每一行添加背景色的效果。
阅读全文