博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用ant.design时遇到要格式化Table行的内容的小小解决方法
阅读量:7060 次
发布时间:2019-06-28

本文共 1331 字,大约阅读时间需要 4 分钟。

hot3.png

在大家进行开发的时候,要造一张表格,表格UI设计的格式和后台返回的数据的格式往往不一样,这个时候就需要我们前端人员去发挥聪明才智了。

往往第一想到的解决方法是在接口返回数据的时候直接对原数据进行处理,这样如果只是展示的话能解决问题,但是修改了原数据如果后面需要用到这些数据有可能会出现问题,所以一般不建议这样改。
一般推荐改的是直接在UI上面进行格式化而不修改原始数据。

在使用ant的时候要想修改table里面的内容需要用到render属性,

修改前的图片

20190228154515479.png

修改后的效果为:

20190228154747433.png

达到这样的效果,我这边是这样处理的根据图片我们可以知道,这里需要格式化的就是时间和字典字段需要格式化所以我这边创造两个方法一个实现时间格式化方法,一个实现字典格式化方法,不同字段传参解决问题具体代码如下

// 格式化的方法 (根据需求造方法这样就不会造多个相似的方法造成代码臃肿,代码越简洁越好)
import moment from ‘moment’; // 这个moment方法。框架里本来就有引入就好
const formatterTime = (val) => {
return val ? moment(val).format(‘YYYY-MM-DD HH:mm:ss’) : ‘’
}
const formatter = (val, dict) => {
return val ? dict[val] : ‘’
}

// columns 设置

const columns = [{
title: ‘样本来源’,
dataIndex: ‘sampleSource’,
render: (val) => {return formatter(val, sampleSourceDict)}
}, {
title: ‘状态’,
dataIndex: ‘state’,
render: (val) => {return formatter(val, stationStateDict)}
}, {
title: ‘创建账号’,
dataIndex: ‘creator’,
}, {
title: ‘创建时间’,
dataIndex: ‘createTime’,
render: formatterTime,
}, {
title: ‘修改帐号’,
dataIndex: ‘modifier’,
}, {
title: ‘修改时间’,
dataIndex: ‘modifyTime’,
render: formatterTime,
}, {
title: ‘备注’,
dataIndex: ‘remark’,
},];
// 最后将columns 给Table组件
<Table rowKey={record => record.id} columns={columns} dataSource={data.list} bordered size=“middle”
onChange={this.handleChange} pagination={paginationProps}/>

转载于:https://my.oschina.net/u/2542841/blog/3016256

你可能感兴趣的文章
《脱颖而出——成功网店经营之道》一2.2 进货攻略
查看>>
X.Org 可能将失去它的域名 x.org
查看>>
《Adobe Photoshop CC经典教程(彩色版)》—第4课4.2节概述
查看>>
互联网企业安全高级指南3.1 从零开始
查看>>
后台权限管理的菜单设计
查看>>
linux搭建git服务器
查看>>
【原创】Percona 之 tcprstat 安装及使用
查看>>
oracle中drop后的表清楚表的含义
查看>>
js笔记——js数据类型转换
查看>>
Hadoop2.5.2集群部署(完全分布式)
查看>>
禁止sshd暴力尝试方案
查看>>
PHP数组
查看>>
rundeck创建普通apitoken
查看>>
./sdb devices ???????????? no permissions
查看>>
Zstandard:一种新的无损压缩算法
查看>>
PHP打包下载多个TXT文件
查看>>
学习路由技术的第五节课
查看>>
想精通分布式以及高并发架构?那你得先搞定ZooKeeper架构原理!
查看>>
压缩和打包
查看>>
Cocos2d-x粒子系统 -- 实现下雪效果
查看>>