Ant Design 表格 - 按日期范围过滤
创始人
2024-11-07 04:30:18
0

以下是一个使用Ant Design表格组件实现按日期范围过滤的示例代码:

import React, { useState } from 'react';
import { Table, DatePicker, Button } from 'antd';
import moment from 'moment';

const { RangePicker } = DatePicker;

const dataSource = [
  {
    key: '1',
    name: 'John',
    date: '2021-01-01',
  },
  {
    key: '2',
    name: 'Mike',
    date: '2021-02-15',
  },
  {
    key: '3',
    name: 'Tom',
    date: '2021-03-20',
  },
];

const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
  },
  {
    title: 'Date',
    dataIndex: 'date',
    key: 'date',
  },
];

const FilterableTable = () => {
  const [filteredDataSource, setFilteredDataSource] = useState(dataSource);
  const [selectedDateRange, setSelectedDateRange] = useState([]);

  const handleDateRangeChange = (dates) => {
    setSelectedDateRange(dates);
    filterDataSource(dates);
  };

  const filterDataSource = (dates) => {
    const filteredData = dataSource.filter((row) => {
      const rowDate = moment(row.date);
      return rowDate.isBetween(dates[0], dates[1], 'day', '[]');
    });
    setFilteredDataSource(filteredData);
  };

  return (
    
); }; export default FilterableTable;

在上述代码中,我们使用了Ant Design的RangePicker组件来选择日期范围,并通过onChange事件监听日期范围的变化。然后,我们根据选择的日期范围过滤数据源,并将过滤后的数据传递给表格组件进行展示。

filterDataSource函数使用moment库来将字符串日期转换为可比较的日期对象,并使用isBetween方法来判断日期是否在选择的范围内。最后,我们使用setFilteredDataSource来更新过滤后的数据源,从而更新表格的展示内容。

在组件中,我们使用了useState来定义filteredDataSourceselectedDateRange的状态,并在handleDateRangeChange函数中更新状态和调用filterDataSource函数进行过滤。另外,我们还添加了一个“Clear Filter”按钮,点击后可以清除选择的日期范围并重置过滤。

相关内容

热门资讯

揭露透视!红龙poker辅助,... 揭露透视!红龙poker辅助,微乐自建房脚本免费下载苹果版,办法教程(存在有挂)-哔哩哔哩1、起透看...
推荐透视!werplan怎么透... 推荐透视!werplan怎么透视,微信微乐游戏破解器,资料教程(有挂教学)-哔哩哔哩1、werpla...
揭露透视!wepoker有没有... 揭露透视!wepoker有没有挂,微信微乐挂有没有,窍要教程(果真有挂)-哔哩哔哩1、让任何用户在无...
揭露透视!德扑圈有透视吗,微乐... 揭露透视!德扑圈有透视吗,微乐游戏辅助脚本安装,要领教程(有人有挂)-哔哩哔哩1、德扑圈有透视吗免费...
有挂透视!wepoker插件功... 有挂透视!wepoker插件功能辅助器,微信微乐陕西小程序破解器,大纲教程(详细教程)-哔哩哔哩1)...
揭幕透视!wepoker私人局... 揭幕透视!wepoker私人局俱乐部辅助,微乐春天扑克开挂辅助插件,项目教程(新版有挂)-哔哩哔哩1...
总结透视!智星德州插件最新版本... 总结透视!智星德州插件最新版本更新内容详解,微乐云南小程序辅助器,策略教程(有挂秘诀)-哔哩哔哩1、...
辅助透视!德州私人局怎么透视,... 辅助透视!德州私人局怎么透视,如何下载微乐自建房黑科技入口,法门教程(揭秘有挂)-哔哩哔哩德州私人局...
揭露透视!wepoker怎么看... 揭露透视!wepoker怎么看牌型,微乐小程序辅助器脚本,大纲教程(有挂教程)-哔哩哔哩1、完成we...
开挂透视!wpk真吗,小程序微... 开挂透视!wpk真吗,小程序微乐陕西挖坑辅助器,练习教程(讲解有挂)-哔哩哔哩1、下载好wpk真吗正...