import React, { PureComponent } from 'react'; import moment from 'moment'; import { connect } from 'dva'; import { routerRedux } from 'dva/router'; import { Row, Col, Form, Card, Select, Spin } from 'antd'; import PageHeaderLayout from '../../layouts/PageHeaderLayout'; import StandardFormRow from '../../components/StandardFormRow'; import TagSelect from '../../components/TagSelect'; import AvatarList from '../../components/AvatarList'; import SearchInput from '../../components/SearchInput'; import styles from './CoverCardList.less'; const Option = Select.Option; const FormItem = Form.Item; const TagOption = TagSelect.Option; const TagExpand = TagSelect.Expand; /* eslint react/no-array-index-key: 0 */ @Form.create() @connect(state => ({ list: state.list, })) export default class CoverCardList extends PureComponent { componentDidMount() { this.props.dispatch({ type: 'list/fetch', payload: { count: 8, }, }); } handleFormSubmit = () => { const { form, dispatch } = this.props; // setTimeout 用于保证获取表单值是在所有表单字段更新完毕的时候 setTimeout(() => { form.validateFields((err) => { if (!err) { // eslint-disable-next-line dispatch({ type: 'list/fetch', payload: { count: 8, }, }); } }); }, 0); } handleTabChange = (key) => { const { dispatch } = this.props; switch (key) { case 'doc': dispatch(routerRedux.push('/list/search')); break; case 'app': dispatch(routerRedux.push('/list/filter-card-list')); break; case 'project': dispatch(routerRedux.push('/list/cover-card-list')); break; default: break; } } render() { const { list: { list = [], loading }, form } = this.props; const { getFieldDecorator } = form; const cardList = list ? ( { list.map(item => ( } >
{moment(item.updatedAt).fromNow()}
{ item.members.map((member, i) => ( )) }
)) }
) : null; const tabList = [ { key: 'doc', tab: '文章', }, { key: 'app', tab: '应用', }, { key: 'project', tab: '项目', default: true, }, ]; const pageHeaderContent = (
); const formItemLayout = { wrapperCol: { xs: { span: 24 }, sm: { span: 16 }, }, }; return (
{getFieldDecorator('category')( 类目一 类目二 类目三 类目四 类目五 类目六 )} {getFieldDecorator('author', {})( )} {getFieldDecorator('rate', {})( )}
{ loading && (list.length > 0) && {cardList} } { loading && (list.length < 1) &&
} { !loading && cardList }
); } }