123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import React from 'react';
- import './index.less';
- import Module from '../Module';
- import Table from '../Table';
- import Radio from '../RadioButton';
- import Select from '../Select';
- function getFilter(filter) {
- switch (filter.type) {
- case 'radio':
- return <Radio {...filter} />;
- case 'select':
- return <Select {...filter} />;
- default:
- return '';
- }
- }
- function ListTable(props) {
- const { style, position, title, rightAction, filters = [], columns = [], data = [] } = props;
- return (
- <Module style={style} className="list-table">
- {title && (
- <div className="header">
- <span className="title">{position}</span>
- <span className="sub-title">{title}</span>
- </div>
- )}
- {filters.length > 0 && (
- <div className="filter">
- <span className="text">筛选</span>
- <div className="filter-list">
- {filters.map(filter => {
- return <div className="filter-item">{getFilter(filter)}</div>;
- })}
- </div>
- <div className="right-action">{rightAction}</div>
- </div>
- )}
- {data && data.length > 0 && <Table columns={columns} data={data} />}
- </Module>
- );
- }
- ListTable.propTypes = {};
- export default ListTable;
|