import React, { useState } from 'react'; import { DownOutlined } from '@ant-design/icons'; import type { TableColumnsType } from 'antd'; import { Badge, Dropdown, Form, Space, Switch, Table } from 'antd'; interface DataType { key: React.Key; name: string; platform: string; version: string; upgradeNum: number; creator: string; createdAt: string; } interface ExpandedDataType { key: React.Key; date: string; name: string; upgradeNum: string; } const items = [ { key: '1', label: 'Action 1' }, { key: '2', label: 'Action 2' }, ]; const App: React.FC = () => { const createExpandedRowRender = (bordered: boolean) => () => { const columns = [ { title: 'Date', dataIndex: 'date', key: 'date' }, { title: 'Name', dataIndex: 'name', key: 'name' }, { title: 'Status', key: 'state', render: () => ( Finished ), }, { title: 'Upgrade Status', dataIndex: 'upgradeNum', key: 'upgradeNum' }, { title: 'Action', dataIndex: 'operation', key: 'operation', render: () => ( Pause Stop More ), }, ]; const data: ExpandedDataType[] = []; for (let i = 0; i < 3; ++i) { data.push({ key: i, date: '2014-12-24 23:12:00', name: 'This is production name', upgradeNum: 'Upgraded: 56', }); } return ; }; const columns: TableColumnsType = [ { title: 'Name', dataIndex: 'name', key: 'name' }, { title: 'Platform', dataIndex: 'platform', key: 'platform' }, { title: 'Version', dataIndex: 'version', key: 'version' }, { title: 'Upgraded', dataIndex: 'upgradeNum', key: 'upgradeNum' }, { title: 'Creator', dataIndex: 'creator', key: 'creator' }, { title: 'Date', dataIndex: 'createdAt', key: 'createdAt' }, { title: 'Action', key: 'operation', render: () => Publish }, ]; const data: DataType[] = []; for (let i = 0; i < 3; ++i) { data.push({ key: i, name: 'Screem', platform: 'iOS', version: '10.3.4.5654', upgradeNum: 500, creator: 'Jack', createdAt: '2014-12-24 23:12:00', }); } const [rootTableBordered, setRootTableBordered] = useState(true); const [childTableBordered, setChildTableBordered] = useState(true); return ( <>
setRootTableBordered(v)} /> setChildTableBordered(v)} />
'cool'} footer={() => 'cool'} columns={columns} expandable={{ expandedRowRender: createExpandedRowRender(childTableBordered) }} dataSource={data} bordered={rootTableBordered} /> ); }; export default App;