import React, { Component } from 'react'; import moment from 'moment'; import { connect } from 'dva'; import { Row, Col, Form, Card, Select, List, Typography } from 'antd'; import StandardFormRow from './components/StandardFormRow'; import TagSelect from './components/TagSelect'; import AvatarList from './components/AvatarList'; import styles from './style.less'; import { IStateType } from './model'; import { Dispatch } from 'redux'; import { FormComponentProps } from 'antd/lib/form'; import { ListItemDataType } from './data'; const { Option } = Select; const FormItem = Form.Item; const { Paragraph } = Typography; interface PAGE_NAME_UPPER_CAMEL_CASEProps extends FormComponentProps { dispatch: Dispatch; BLOCK_NAME_CAMEL_CASE: IStateType; loading: boolean; } class PAGE_NAME_UPPER_CAMEL_CASE extends Component { componentDidMount() { const { dispatch } = this.props; dispatch({ type: 'BLOCK_NAME_CAMEL_CASE/fetch', payload: { count: 8, }, }); } render() { const { BLOCK_NAME_CAMEL_CASE: { list = [] }, loading, form, } = this.props; const { getFieldDecorator } = form; const cardList = list ? ( rowKey="id" loading={loading} grid={{ gutter: 24, xl: 4, lg: 3, md: 3, sm: 2, xs: 1 }} dataSource={list} renderItem={item => ( } > {item.title}} description={ {item.subDescription} } />
{moment(item.updatedAt).fromNow()}
{item.members.map((member, i) => ( ))}
)} /> ) : null; const formItemLayout = { wrapperCol: { xs: { span: 24 }, sm: { span: 16 }, }, }; return (
{getFieldDecorator('category')( 类目一 类目二 类目三 类目四 类目五 类目六 类目七 类目八 类目九 类目十 类目十一 类目十二 )} {getFieldDecorator('author', {})( )} {getFieldDecorator('rate', {})( )}
{cardList}
); } } const WarpForm = Form.create({ onValuesChange({ dispatch }: PAGE_NAME_UPPER_CAMEL_CASEProps, changedValues, allValues) { // 表单项变化时请求数据 // 模拟查询表单生效 dispatch({ type: 'BLOCK_NAME_CAMEL_CASE/fetch', payload: { count: 8, }, }); }, })(PAGE_NAME_UPPER_CAMEL_CASE); export default connect( ({ BLOCK_NAME_CAMEL_CASE, loading, }: { BLOCK_NAME_CAMEL_CASE: IStateType; loading: { models: { [key: string]: boolean } }; }) => ({ BLOCK_NAME_CAMEL_CASE, loading: loading.models.BLOCK_NAME_CAMEL_CASE, }) )(WarpForm);