antd——table表格动态列——展示日期的列+内容——技能提升

效果图:
在这里插入图片描述
当前时间是:2024年8月29日,表格中的动态日期列是展示的前7天+后10天共计18天。

如果想要实现这样的效果,可以考虑将这18天的日期表头统一放到一个列中,内容也是如此。

解决步骤1:自定义表头+自定义列

columns列可以写成下面的形式:

this.columns = [{
  slots: { title: 'customTitle' },
  scopedSlots: { customRender: 'action' },
  width: 24 * 5 * 18,//共计18天,每天24小时,我这边一个小时算5px,则整列的宽度就是 24*5*18
  align: 'center',
}];

解决步骤2:表头的写法

需要获取18天的日期数据
下面的代码使用前提是 先安装moment插件

let timeArr = [
  moment().subtract(7, 'days').format('YYYY/MM/DD'),//当前日期减去7天
  moment().add(10, 'days').format('YYYY/MM/DD'),//当前日期加上10天
];

获取两个日期中间的所有数据

getDatesBetween(startDateString, endDateString) {
  var startDate = new Date(startDateString);
  var endDate = new Date(endDateString);
  var datesArray = [];
  while (startDate <= endDate) {
    datesArray.push({
      month: moment(new Date(startDate)).format('M'),
      day: moment(new Date(startDate)).format('D'),
    });
    startDate.setDate(startDate.getDate() + 1);
  }
  return datesArray;
},

使用:
this.动态列 = this.getDatesBetween(timeArr[0], timeArr[1]);

我想要的动态列的格式是month月份+day日期的形式。

上面是此功能实现的最重要的部分。

多多积累,多多收获!!!

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
antd table 动态是指在使用antdtable组件时,可以动态地添加、删除、合并。根据提供的代码,可以看出以下几点关于antd table动态的实现: 1. 使用customCell方法进行合并:如果定义的表中需要合并的使用了slots插槽属性,那么使用customRender方法进行合并是没有效果的,需要使用customCell方法。 2. 数据情况:根据提供的示例,数据是一个数组,数组中包含各个table表数据,每个table表数据是一个对象。每个table对象数据中,需要table展示的数据在三级子目录中。 3. 添加核心代码:通过addColspan方法可以添加。该方法会在指定位置插入一个新的,并更新columns、data和id等相关状态。 4. 删除核心代码:通过deleteColspan方法可以删除。该方法会删除指定位置的,并更新columns状态。 综上所述,以上代码提供了实现antd table动态的核心逻辑。您可以根据需要使用这些方法来实现动态的功能。 #### 引用[.reference_title] - *1* [ant-design中对单个或多个table表数据进行动态合并](https://blog.csdn.net/Yukinoshita_kino/article/details/124843940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [React+antd实现table动态添加删除](https://blog.csdn.net/chen_ac/article/details/128004176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶浩成520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值