![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dcdf5cecf050481c845c7e78ba2bf2a1.png)
主要代码:
{
title: 'Name',
width: '6%',
dataIndex: 'AttendeeName',
sorter: (a, b) => a.AttendeeName.slice(0,1).charCodeAt(0)-b.AttendeeName.slice(0,1).charCodeAt(0)
},
const columns = [
{
title: 'No.',
dataIndex: 'No',
render: (text, record, index) => `${index + 1}`,
},
{
title: 'Course',
dataIndex: 'CourseName',
},
{
title: 'Class',
width: '6%',
dataIndex: 'ClassName'
},
{
title: 'Name',
width: '6%',
dataIndex: 'AttendeeName',
sorter: (a, b) => a.AttendeeName.slice(0,1).charCodeAt(0)-b.AttendeeName.slice(0,1).charCodeAt(0)
},
{
title: 'Email',
dataIndex: 'Email'
},
{
title: 'Function',
dataIndex: 'Function',
},
{
title: 'Level',
dataIndex: 'Level',
},
{
title: 'Registration Status',
dataIndex: 'RegisterStatus',
width: '10%',
align: 'left',
render: (text, record) => {
if (text === 1001) {
return 'Pre-enrolled'
}
if (text === 1002) {
return 'Waitlisted'
}
if (text === 1003) {
return 'Registered'
}
if (text === 1004) {
return 'Canceled'
}
}
},
{
title: 'Approve',
align: 'left',
dataIndex: 'ApproveStatus',
render: (text, record) => {
if (text === 1001) {
return 'Pending'
}
if (text === 1002) {
return 'Approved'
}
if (text === 1003) {
return 'Rejected'
}
if (text === 1004) {
return '—'
}
}
},
{
title: 'Pre-work',
align: 'left',
dataIndex: 'PreworkStatus',
width: '6%',
render: (text, record) => {
if (text === true) {
return <span className={styles.tableTag}>Finished</span>
} else if (text === false) {
return <span className={styles.tableTag}>Unfinished</span>
} else {
return '—'
}
}
},
{
title: 'Registration Time',
dataIndex: 'RegistrationTime',
width: '10%',
render: (text, record) => {
return moment(text).format('YYYY-MM-DD HH:mm')
}
},
{
title: 'Action',
align: 'left',
render: (text, record) => {
if (record.RegisterStatus !== 1004) {
return (
<Dropdown overlay={() => menu(record)} placement="bottomRight" trigger={['click']}>
<EllipsisOutlined style={{ color: '#1890ff', fontSize: "20px" }} />
</Dropdown>
)
} else {
return ''
}
}
},
];
<Table
rowKey={record => record.Id}
locale={{ emptyText: intl.formatMessage({ id: 'global No Data' }) }}
rowSelection={{
type: 'checkbox',
...rowSelection,
}}
columns={columns}
onChange={onPageChange}
dataSource={allAttendeeTableData.Items}
pagination={{
position: ['bottomRight'],
showSizeChanger: true,
showQuickJumper: false,
showTotal: (total) => `Total ${total} items`,
size: 'small',
total: allAttendeeTableData.DataCount,
pageSize: perItemPage,
current,
}}
/>