From 0aaca80308082b9f736e2c466a65efc28f0ab7b8 Mon Sep 17 00:00:00 2001 From: xusongfu Date: Thu, 16 Dec 2021 13:58:47 +0800 Subject: [PATCH] fix: Fix the value of the name column in the network list which use the simple table Show id and name to match column headings Change-Id: Ifea9927b024ae613d2db4f402aa4ad020d767c6e --- src/components/Tables/SimpleTable/index.jsx | 45 +++++---------------- 1 file changed, 11 insertions(+), 34 deletions(-) diff --git a/src/components/Tables/SimpleTable/index.jsx b/src/components/Tables/SimpleTable/index.jsx index 7b381ef8..ca802cf0 100644 --- a/src/components/Tables/SimpleTable/index.jsx +++ b/src/components/Tables/SimpleTable/index.jsx @@ -24,6 +24,8 @@ import { checkIsStatusColumn, getStatusRender, getRender, + getNameRender, + getNameRenderByRouter, } from 'utils/table'; import { Link } from 'react-router-dom'; import { getNoValue } from 'utils/index'; @@ -80,6 +82,9 @@ export default class SimpleTable extends React.Component { isStatus, isName, isPrice, + isLink, + routeName, + linkPrefix, ...rest } = column; if (column.key === 'operation') { @@ -98,8 +103,12 @@ export default class SimpleTable extends React.Component { if (dataIndex === 'project_name') { newRender = this.getProjectRender(newRender); } - if (dataIndex === 'name' || isName) { - newRender = this.getNameRender(newRender, column); + if ((dataIndex === 'name' && routeName) || isLink) { + const { rowKey } = this.props; + newRender = getNameRenderByRouter(newRender, column, rowKey); + } + if ((dataIndex === 'name' && linkPrefix) || isName) { + newRender = getNameRender(newRender, column); } if (dataIndex === 'cost' || isPrice) { newRender = this.getPriceRender(newRender, column); @@ -153,38 +162,6 @@ export default class SimpleTable extends React.Component { return (value) => getNoValue(value); }; - getNameRender = (render, column) => { - if (render) { - return render; - } - const { linkPrefix, dataIndex, idKey, linkPrefixFunc, linkFunc } = column; - const { rowKey } = this.props; - return (value, record) => { - const idValue = get(record, idKey || rowKey); - let url = null; - if (linkFunc) { - url = linkFunc(value, record); - } else { - const linkValue = linkPrefixFunc - ? linkPrefixFunc(value, record) - : linkPrefix; - url = this.getLinkUrl(linkValue, idValue); - } - const nameValue = value || get(record, dataIndex) || '-'; - if (!url) { - return nameValue; - } - return ( -
-
- {idValue} -
-
{nameValue}
-
- ); - }; - }; - getLinkUrl = (prefix, id) => { if (!prefix) { return null;