比如:后端一个字段有多种状态:
那么后端接口会返回:0 或者 1 或者 2 其中一个,前端需要展示的是对应的文字,像简单的只有两个状态的可以直接在列里面操作:
{title: '状态',dataIndex: 'usable',customRender: ({ text }) => {return text ? '启用' : '停用';}},
;
有的会有很多个状态,这个时候就在发请求的位置进行操作:
// 表格数据源
/* 如果想在数据源里面获取到接口返回的数据, 增加 async 和 await */
const datasource = async ({ page, limit, where }) => {const result = await pageThirdfwt({ ...where, page, limit });if (result.list.length > 0) {result.list.forEach((item) => {item.recTime = item.recTime ? item.recTime.split('T')[0].replace(/-/g, '-') : item.recTime;if (item.parameterType == 1) {item.parameterType = '触发条件类型';} else if (item.parameterType == 2) {item.parameterType = '执行动作类型';}});return result.list; // 这里返回的数据要包含 list 和 count 两个字段,字段名称可以通过 response 属性配置} else {return [];}
};
这种方式不仅可以使 后端返回的 0 1 2 等转换为相应的中文字段,也可以对后端返回的一些怪异的时间格式进行处理!
原始方法:
const datasource = ({ page, limit, where, orders }) => {return pageThirdfwt({ ...where, ...orders, page, limit });
};