在 Ant Design 表格中,如果要以日期作为列标题,可以使用 Moment.js 库来处理日期的格式化和计算。
首先,引入 Moment.js 库:
import moment from 'moment';
然后,在表格组件中定义一个函数来生成日期列标题的数组:
const generateColumns = () => {
const currentDate = moment(); // 获取当前日期
const columns = [];
// 生成以当前日期为起始的一周日期数组
for (let i = 0; i < 7; i++) {
const date = currentDate.clone().add(i, 'days');
const column = {
title: date.format('YYYY-MM-DD'), // 使用 Moment.js 进行日期格式化
dataIndex: date.format('YYYY-MM-DD'), // 作为数据索引
key: date.format('YYYY-MM-DD'), // 作为唯一 key
};
columns.push(column);
}
return columns;
};
接下来,在表格组件中使用生成的日期列标题数组:
import React from 'react';
import { Table } from 'antd';
import moment from 'moment';
const YourTableComponent = () => {
const generateColumns = () => {
const currentDate = moment();
const columns = [];
for (let i = 0; i < 7; i++) {
const date = currentDate.clone().add(i, 'days');
const column = {
title: date.format('YYYY-MM-DD'),
dataIndex: date.format('YYYY-MM-DD'),
key: date.format('YYYY-MM-DD'),
};
columns.push(column);
}
return columns;
};
const dataSource = [
{
name: 'John',
'2022-01-01': 10,
'2022-01-02': 5,
'2022-01-03': 8,
'2022-01-04': 3,
'2022-01-05': 12,
'2022-01-06': 7,
'2022-01-07': 9,
},
// 其他数据行
];
return
;
};
export default YourTableComponent;
在上述示例中,我们生成了一周的日期数组作为表格的列标题,并使用 Moment.js 进行了日期的格式化。同时,我们还定义了一个 dataSource 数组来存储表格的数据,其中每个数据行的键名对应日期列标题的键名。
通过以上的代码示例,你可以在 Ant Design 表格中实现以日期作为列标题的功能。