在Ant Design的Table组件中,可以通过columns属性中的headerCell来给特定的表头设置样式。headerCell接受一个React组件,可以用来自定义表头单元格的渲染。
- import React from 'react';
- import { Table } from 'antd';
- import 'antd/dist/antd.css';
-
- // 自定义表头组件
- const CustomHeaderCell = ({ children, ...restProps }) => {
- // 通过类名或其他属性来区分不同的表头单元格
- if (restProps.column.title === '特定表头') {
- return <th {...restProps} style={{ color: 'red' }}>{children}th>;
- }
- return <th {...restProps}>{children}th>;
- };
-
- const data = [
- {
- key: '1',
- name: 'John Brown',
- age: 32,
- address: 'New York No. 1 Lake Park',
- },
- // ...更多数据
- ];
-
- const columns = [
- {
- title: 'Name',
- dataIndex: 'name',
- key: 'name',
- },
- {
- title: '特定表头',
- dataIndex: 'age',
- key: 'age',
- },
- {
- title: 'Address',
- dataIndex: 'address',
- key: 'address',
- },
- ];
-
- const App = () => (
- <Table
- columns={columns.map(col => ({
- ...col,
- onHeaderCell: column => ({
- style: { color: 'blue' },
- ...column,
- }),
- }))}
- dataSource={data}
- components={{
- header: {
- cell: CustomHeaderCell,
- },
- }}
- />
- );
-
- export default App;
上述代码中,创建了一个自定义的CustomHeaderCell组件,它会检查传入的列属性column.title来决定是否给单元格设置特定的样式。可以通过style属性或者其他的CSS类来实现样式的定制。
注意:可以根据需要添加更多的条件判断来定制不同表头单元格的样式。此外,components属性用于替换Table组件的子组件,在这个例子中,替换了表头单元格(header.cell)为自定义的CustomHeaderCell组件。