react.js的table组件怎样把拿来的英文数据展示成中文呢?

react.js的table组件怎样把拿来的英文数据展示成中文呢?
其中milestoneTypeName字段 数据为"ROUTINE" 前台如何展示成中文"常规"呢?

table代码:
return [
            { title: '名称', dataIndex: 'milestoneName' },
            { title: '描述', dataIndex: 'description'},
            { title: '类型', dataIndex: 'milestoneTypeName'},
            { title: '计划完成时间', dataIndex: 'dueDate'},
            { title: '创建人', dataIndex: 'authorName'},
            { title: '操作',width:100,
            
     ]     
数据:
{id: 10885, milestoneName: "TEST_v常规2018-09-10", description: "", authorId: 1,…}
authorId:1
authorName:"Administrator"
createTime:1536217208000
description:""
dueDate:1536508800000
id:10885
milestoneName:"TEST_v常规2018-09-10"
milestoneType:0
milestoneTypeName:"ROUTINE"
projectGroupId:6
阅读 4.6k
4 个回答

票数高的方法比较好

仅供参考

{
          title: '名称',
          dataIndex: 'milestoneName',
          render: (text, record) => (
            <span>
              {this.checkMilestoneName(record.milestoneName)}
            </span>
          ),
        },

...

  checkMilestoneName = (value) => {
    switch (value) {
      case 'ROUTINE':
        return '常规'
      default: 
        return ''
    };
  }

最简单的办法定义一个常量就好了,例如:

const constants = {'ROUTINE': '常规'}

使用的时候:

constants[data.milestoneTypeName]; //data为你的json数据。

如果你的项目支持国际化,那就采用国际化的方式就好了。

楼上有人的回答使用if switch等,都不建议。维护的时候,你就知道坑有多深了。

render里面写,或者拿回来数据,自己处理一遍在拿去赋值。

类似于下面这种,他这个是加了个Tag,你的是变变文案

<Column
  title="Tags"
  dataIndex="tags"
  key="tags"
  render={tags => (
    <span>
      {tags.map(tag => <Tag color="blue" key={tag}>{tag}</Tag>)}
    </span>
  )}
/>

拿到数据的时候就做处理。加个判断,手动赋值。比如数据为data,

if(data.milestoneTypeName == "ROUTINE"){
    data.milestoneTypeName = "常规";
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题