render 方法
在使用 render 方法之前需引入相应的方法。
import { dateTimeRender, enableRender } from 'utils/renderer';
enableRender
返回 启用/禁用 对应的多语言,并加上状态标记。
参数
[v = 0 | 1](Number) :状态
返回
(string): 1 返回 enable(多语言),0 返回 disabled(多语言)。
示例
const columns = [
...
{
title: intl.get('hzero.common.status').d('状态'),
dataIndex: 'enabledFlag',
width: 80,
render: enableRender,
},
]
yesOrNoRender
返回 是/否 多语言 并加上对应的状态标记。
参数
[v = 0 | 1](Number):值
返回
(string): 1 返回 yes(多语言),0 返回 no(多语言)。
示例
const columns = [
...
{
title: intl.get('hfile.storage.model.storage.defaultFlag').d('默认'),
dataIndex: 'defaultFlag',
width: 100,
render: yesOrNoRender,
}
]
totalRender
用于显示数据总量和当前数据顺序。
参数
[total](number):数据总量
[range](number[]):当前数据的第一条数据序号, 当前数据最后一条数据序号
返回
(string): 返回分页总数的多语言。
示例
pagination: {
...
showSizeChanger: true,
showTotal: totalRender,
},
dateRender
将日期格式化成当前用户选择的日期格式
参数
[dateStr](string):日期字符串
返回
(string): 返回格式化后的日期字符串。
示例
dateRender('2018/2/2')
const columns = [
{
title: intl.get('hiam.subAccount.model.user.endDateActive').d('有效期至'),
dataIndex: 'endDateActive',
width: 100,
render: dateRender,
}
]
dateTimeRender
将日期时间格式化成当前用户选择的日期时间格式
参数
[dateTimeStr](string):日期时间字符串
返回
(string): 返回格式化后的日期时间字符串。
示例
dateTimeRender('2018/2/2 21:21:21')
const columns = [
{
title: intl.get('hiam.subAccount.model.user.endDateActive').d('有效期至'),
dataIndex: 'endDateActive',
width: 100,
render: dateTimeRender,
}
]
timerRender
将时间格式化成当前用户选择的时间格式
参数
[timeStr](string):时间字符串
返回
(string): 返回格式化后的时间字符串。
示例
timerRender('21:21:21')
const columns = [
{
title: intl.get('hiam.subAccount.model.user.endDateActive').d('有效期至'),
dataIndex: 'endDateActive',
width: 100,
render: timerRender,
}
]
numberRender
格式化数值
参数
[value](number):需要格式化的数
[precision = 0](number):数值精度 必须为自然数(0+正整数)
[allowThousandth = true](boolean):是否加上千分位
[allowEndZero = true](boolean):是否补全末尾0
返回
(string): 返回格式化后的数值。
示例
const columns = [
{
title: `${intl.get('hpfm.taxRate.model.taxRate.taxRate').d('税率')}(%)`,
width: 100,
dataIndex: 'taxRate',
render: value => numberRender(value, 2, false),
}
]
TagRender
返回状态标记
参数
[status](number):当前状态值
[statusList = []](object[]):状态列表:[{ color: '' , status: '' }]
[text = ‘'](string):当前状态文本值
返回
(string): 相应的状态标记。
示例
const columns = [
...
{
title: intl.get(`${modelPrompt}.refreshStatus`).d('刷新状态'),
dataIndex: 'refreshStatus',
width: 100,
render: val => {
const statusList = [
{ status: 1, color: 'green', text: '刷新成功' },
{ status: 0, color: 'red', text: '刷新失败' },
{ status: 'default', text: '未刷新' },
];
return TagRender(val, statusList);
},
},
{
title: intl.get('hsdr.concRequest.model.concRequest.jobStatus').d('状态'),
dataIndex: 'jobStatusMeaning',
width: 100,
fixed: 'right',
render: (text, record) => {
const statusList = [
{ status: 'NORMAL', color: 'green' },
{ status: 'PAUSED', color: 'gold' },
{ status: 'BLOCKED', color: 'volcano' },
{ status: 'ERROR', color: 'red' },
{ status: 'COMPLETE', color: '' },
{ status: 'NONE', color: '' },
];
return TagRender(record.jobStatus, statusList, text);
},
},
]
operatorRender
渲染表格操作列
参数
[actions](OperatorAction[]):操作列行为数组
[record](any):行数据
[options={ limit:3, cloneAction: defaultCloneAction }](Object):配置(limit为操作列不显示下拉框的按钮数量)
返回
(ReactNode): 处理后的操作列
示例
const columns = [
...
{
title: intl.get('hzero.common.button.action').d('操作'),
width: 120,
fixed: 'right',
dataIndex: 'edit',
render: (_, record) => {
const operators = [
{
key: 'edit',
ele: (
<a
onClick={() => {
this.handleUpdatePrompt(record);
}}
>
{intl.get('hzero.common.button.edit').d('编辑')}
</a>
),
len: 2,
title: intl.get('hzero.common.button.edit').d('编辑'),
},
];
if (isSiteFlag) {
operators.push({
key: 'delete',
ele: (
<Popconfirm
title={intl.get('hzero.common.message.confirm.delete').d('是否删除此条记录?')}
onConfirm={() => {
this.handleDeletePrompt(record);
}}
>
<a>{intl.get('hzero.common.button.delete').d('删除')}</a>
</Popconfirm>
),
len: 2,
title: intl.get('hzero.common.button.delete').d('删除'),
});
} else if (tenantId === record.tenantId) {
operators.push({
key: 'delete',
ele: (
<Popconfirm
title={intl.get('hzero.common.message.confirm.delete').d('是否删除此条记录?')}
onConfirm={() => {
this.handleDeletePrompt(record);
}}
>
<a>{intl.get('hzero.common.button.delete').d('删除')}</a>
</Popconfirm>
),
len: 2,
title: intl.get('hzero.common.button.delete').d('删除'),
});
}
return operatorRender(operators, record);
},
},
]