antd table按表格里的日期去排序操作


Posted in Javascript onNovember 17, 2020

表格内容

根据票据日期升序(这里是已经排序后的效果)

antd table按表格里的日期去排序操作

上代码

antd table按表格里的日期去排序操作

代码中data的内容如下

antd table按表格里的日期去排序操作

根据paper_date排序,因为目前这种格式不支持比较,需要先转换成时间戳

new Date(aTimeString).getTime()

之后再用装换后的时间戳去比较,比较用到的函数是 .sort,一下是用来比较的代码

data.sort(function(a, b) {
      let aTimeString = a.paper_date;
      let bTimeString = b.paper_date;
      let aTime = new Date(aTimeString).getTime();
      let bTime = new Date(bTimeString).getTime();
      return aTime - bTime;
     });

附:知识用来记录自己遇到的问题解决方法,大神勿喷

补充知识:antd的Table后端排序(列升降序)的坑

antd Table列升降序需要有个sorter属性

由于分页是后端分页,因此,排序也必须用后端排序(因为前端获取到的数据只有一页,无法正确排序)

sorter: (a, b) => { // 啥也不写,不需要前端排序,写了sorter才会出现排序图标},

这里会碰到一个坑,接口请求回来的数据明明已经排序正确了,传给dataSource也是正常的,为什么渲染出来的是错的? 因为前端又不完整的自行排序了一次

这时候sorter就不该写成回调函数形式,而应该写成sorter: true

const columns = [{
 title: 'Name',
 dataIndex: 'name',
 filters: [{
  text: 'Joe',
  value: 'Joe',
 }, {
  text: 'Jim',
  value: 'Jim',
 }, {
  text: 'Submenu',
  value: 'Submenu',
  children: [{
   text: 'Green',
   value: 'Green',
  }, {
   text: 'Black',
   value: 'Black',
  }],
 }],
 // specify the condition of filtering result
 // here is that finding the name started with `value`
 onFilter: (value, record) => record.name.indexOf(value) === 0,
 // sorter: (a, b) => a.name.length - b.name.length,
 sorter: true,
}]

那回调不写,我应该在哪里发送后端排序请求呢?

<CustomTable // 封装的表格组件,属性是一样的
 
   rowKey='projId' 
   size="small" 
   style={{ height: tableHeight }} 
   columns={columns} 
   tableData={this.state.tableData} 
   expandedRowRender={this.expandedRowRender} 
   pagination={pagination} 
   handleTableChange={this.handleTableChange} // 在这里发送请求 处理后端排序 
   scroll={{ y: tableScrollHeight, x: 1660 }} 
   tableRowSelection={this.tableRowSelection} 
/>

以上这篇antd table按表格里的日期去排序操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 中的 &amp;&amp; 和 || 使用小结
Apr 25 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
javascript创建createXmlHttpRequest对象示例代码
Feb 10 Javascript
javascript中String对象的slice()方法分析
Dec 20 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
在Mac OS下使用Node.js的简单教程
Jun 24 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
完美解决IE9浏览器出现的对象未定义问题
Sep 29 Javascript
js判断节假日实例代码
Dec 27 Javascript
小程序云开发实战小结
Oct 25 Javascript
vue实现多条件和模糊搜索功能
May 28 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 #Javascript
解决vue-cli输入命令vue ui没效果的问题
Nov 17 #Javascript
详解Vue数据驱动原理
Nov 17 #Javascript
vue 解决IOS10低版本白屏的问题
Nov 17 #Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 #jQuery
html中创建并调用vue组件的几种方法汇总
Nov 17 #Javascript
解决vue项目中出现Invalid Host header的问题
Nov 17 #Javascript
You might like
用Zend Encode编写开发PHP程序
2010/02/21 PHP
PHP PDO函数库详解
2010/04/27 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
js获得鼠标的坐标值的方法
2013/03/13 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
Python列表对象实现原理详解
2019/07/01 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
python数据抓取3种方法总结
2021/02/07 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
员工培训邀请函
2014/01/11 职场文书
校本教研工作制度
2014/01/22 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
外贸英文求职信范文
2015/03/19 职场文书
新人入职感言
2015/07/31 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
MYSQL 运算符总结
2021/11/11 MySQL