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 相关文章推荐
js为数字添加逗号并格式化数字的代码
Aug 23 Javascript
Javascript的&amp;&amp;和||的另类用法
Jul 23 Javascript
基于jQuery实现表单提交验证
Nov 24 Javascript
小米公司JavaScript面试题
Dec 29 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 Javascript
JS组件系列之JS组件封装过程详解
Apr 28 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
Jul 15 Javascript
在vue 中使用 less的教程详解
Sep 26 Javascript
js回文数的4种判断方法示例
Jun 04 Javascript
vue监听用户输入和点击功能
Sep 27 Javascript
浅谈Three.js截图并下载的大坑
Nov 01 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
一个简单的域名注册情况查询程序
2006/10/09 PHP
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
javascript使用call调用微信API
2014/12/15 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
setTimeout学习小结
2017/02/08 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
Angular刷新当前页面的实现方法
2018/11/21 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Python微信操控itchat的方法
2019/05/31 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
商务专员岗位职责
2013/11/23 职场文书
酒店副总岗位职责
2013/12/24 职场文书
志愿者活动总结
2014/04/28 职场文书
爱心捐款活动总结
2015/05/09 职场文书
无保留意见审计报告
2015/06/05 职场文书
小学运动会加油稿
2015/07/22 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
Nginx反向代理学习实例教程
2021/10/24 Servers
Nebula Graph解决风控业务实践
2022/03/31 MySQL