index.js 990 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import React from 'react';
  2. import './index.less';
  3. import Module from '../Module';
  4. import Table from '../Table';
  5. import Radio from '../Radio';
  6. function getFilter(filter) {
  7. switch (filter.type) {
  8. case 'radio':
  9. return <Radio {...filter} />;
  10. default:
  11. return '';
  12. }
  13. }
  14. function ListTable(props) {
  15. const { style, title, subTitle, filters = [], columns = [], data = [] } = props;
  16. return (
  17. <Module style={style} className="list-table">
  18. <div className="header">
  19. <span className="title">{title}</span>
  20. <span className="sub-title">{subTitle}</span>
  21. </div>
  22. <div className="filter">
  23. <span className="text">筛选</span>
  24. <div className="filter-list">
  25. {filters.map(filter => {
  26. return <div className="filter-item">{getFilter(filter)}</div>;
  27. })}
  28. </div>
  29. </div>
  30. <Table columns={columns} data={data} />
  31. </Module>
  32. );
  33. }
  34. ListTable.propTypes = {};
  35. export default ListTable;