import React from 'react'; import { Button } from 'antd'; import { config } from '../component/base/config'; import { transferAttr } from '../component/base/_utils/transferAttr'; import styles from './index.less'; const DetailForm = (props: any) => { const { data, rowData, name, goEdit, hideEditBtn, isShowDelBtn, handleDelete, delLabel } = props; const renderDetailForm = (item: any) => { const { columnType, columnAttrObj, value, renderDetailForm } = item; let detailConfig; if (typeof renderDetailForm === 'function') { detailConfig = renderDetailForm({ cellData: value, rowData, columnConfig: item }); } else { detailConfig = config[String(columnType)] || config['1']; } const DetailComp: any = detailConfig.detailComp; const cellRenderProps: any = detailConfig.cellRenderProps || {}; const newProps = { ...(detailConfig.componentAttr || {}), ...(columnAttrObj || {}), }; const transferColumn = transferAttr(columnType, newProps); return ( ); }; const renderBtn = () => { return (
{ return goEdit('editPage'); }} > 编辑
); }; return (
{name}
{!hideEditBtn && renderBtn()}
{data.map((item: any, index: number) => { return (
{`${item.columnChsName}:`}
{renderDetailForm(item)}
); })}
{isShowDelBtn && ( )}
); }; export default DetailForm;