index.js 932 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import React, { Component } from 'react';
  2. import { Table } from 'antd';
  3. import './index.less';
  4. class TableLayout extends Component {
  5. render() {
  6. const {
  7. select = false,
  8. columns,
  9. rowKey = 'id',
  10. list = [],
  11. pagination,
  12. loading,
  13. onChange,
  14. selectedKeys,
  15. } = this.props;
  16. let rowSelection = null;
  17. if (select) {
  18. rowSelection = {
  19. onChange: (selectedRowKeys, selectedRows) => this.props.onSelect(selectedRowKeys, selectedRows),
  20. selectedRowKeys: selectedKeys,
  21. };
  22. }
  23. return (
  24. <div className="table-layout">
  25. <Table
  26. columns={columns}
  27. bordered
  28. rowSelection={rowSelection}
  29. rowKey={record => record[rowKey]}
  30. dataSource={list}
  31. pagination={pagination}
  32. loading={loading}
  33. onChange={onChange}
  34. />
  35. </div>
  36. );
  37. }
  38. }
  39. export default TableLayout;