提交 b9482c0a2d929d9a7a7e0b443df43cf02f2a50f1

作者 愚道
1 个父辈 5151c75d

add search input to SearchListApplications

  1 +import React from 'react';
  2 +import { FormattedMessage } from 'umi/locale';
  3 +import Link from 'umi/link';
  4 +import { PageHeader } from 'ant-design-pro';
  5 +import styles from './index.less';
  6 +
  7 +const PageHeaderWrapper = ({ children, wrapperClassName, ...restProps }) => (
  8 + <div style={{ margin: '-24px -24px 0' }} className={wrapperClassName}>
  9 + <PageHeader
  10 + home={<FormattedMessage id="menu.home" defaultMessage="Home" />}
  11 + key="pageheader"
  12 + {...restProps}
  13 + linkElement={Link}
  14 + itemRender={item => {
  15 + if (item.locale) {
  16 + return <FormattedMessage id={item.locale} defaultMessage={item.title} />;
  17 + }
  18 + return item.title;
  19 + }}
  20 + />
  21 + {children ? <div className={styles.content}>{children}</div> : null}
  22 + </div>
  23 +);
  24 +
  25 +export default PageHeaderWrapper;
  1 +@import '~antd/lib/style/themes/default.less';
  2 +
  3 +.content {
  4 + margin: 24px 24px 0;
  5 +}
  6 +
  7 +@media screen and (max-width: @screen-sm) {
  8 + .content {
  9 + margin: 24px 0 0;
  10 + }
  11 +}
1 import React, { PureComponent } from 'react'; 1 import React, { PureComponent } from 'react';
2 import numeral from 'numeral'; 2 import numeral from 'numeral';
3 import { connect } from 'dva'; 3 import { connect } from 'dva';
4 -import { Row, Col, Form, Card, Select, Icon, Avatar, List, Tooltip, Dropdown, Menu } from 'antd'; 4 +import { Row, Col, Form, Card, Select, Icon, Avatar, List, Tooltip, Dropdown, Menu, Input } from 'antd';
5 import { TagSelect } from 'ant-design-pro'; 5 import { TagSelect } from 'ant-design-pro';
6 6
7 import StandardFormRow from './components/StandardFormRow'; 7 import StandardFormRow from './components/StandardFormRow';
  8 +import PageHeaderWrapper from './components/PageHeaderWrapper';
8 import { formatWan } from './utils/utils'; 9 import { formatWan } from './utils/utils';
9 import styles from './style.less'; 10 import styles from './style.less';
10 11
@@ -88,94 +89,112 @@ class PAGE_NAME_UPPER_CAMEL_CASE extends PureComponent { @@ -88,94 +89,112 @@ class PAGE_NAME_UPPER_CAMEL_CASE extends PureComponent {
88 </Menu> 89 </Menu>
89 ); 90 );
90 91
91 - return (  
92 - <div className={styles.filterCardList}>  
93 - <Card bordered={false}>  
94 - <Form layout="inline">  
95 - <StandardFormRow title="所属类目" block style={{ paddingBottom: 11 }}>  
96 - <FormItem>  
97 - {getFieldDecorator('category')(  
98 - <TagSelect expandable>  
99 - <TagSelect.Option value="cat1">类目一</TagSelect.Option>  
100 - <TagSelect.Option value="cat2">类目二</TagSelect.Option>  
101 - <TagSelect.Option value="cat3">类目三</TagSelect.Option>  
102 - <TagSelect.Option value="cat4">类目四</TagSelect.Option>  
103 - <TagSelect.Option value="cat5">类目五</TagSelect.Option>  
104 - <TagSelect.Option value="cat6">类目六</TagSelect.Option>  
105 - <TagSelect.Option value="cat7">类目七</TagSelect.Option>  
106 - <TagSelect.Option value="cat8">类目八</TagSelect.Option>  
107 - <TagSelect.Option value="cat9">类目九</TagSelect.Option>  
108 - <TagSelect.Option value="cat10">类目十</TagSelect.Option>  
109 - <TagSelect.Option value="cat11">类目十一</TagSelect.Option>  
110 - <TagSelect.Option value="cat12">类目十二</TagSelect.Option>  
111 - </TagSelect>  
112 - )}  
113 - </FormItem>  
114 - </StandardFormRow>  
115 - <StandardFormRow title="其它选项" grid last>  
116 - <Row gutter={16}>  
117 - <Col lg={8} md={10} sm={10} xs={24}>  
118 - <FormItem {...formItemLayout} label="作者">  
119 - {getFieldDecorator('author', {})(  
120 - <Select placeholder="不限" style={{ maxWidth: 200, width: '100%' }}>  
121 - <Option value="lisa">王昭君</Option>  
122 - </Select>  
123 - )}  
124 - </FormItem>  
125 - </Col>  
126 - <Col lg={8} md={10} sm={10} xs={24}>  
127 - <FormItem {...formItemLayout} label="好评度">  
128 - {getFieldDecorator('rate', {})(  
129 - <Select placeholder="不限" style={{ maxWidth: 200, width: '100%' }}>  
130 - <Option value="good">优秀</Option>  
131 - <Option value="normal">普通</Option>  
132 - </Select>  
133 - )}  
134 - </FormItem>  
135 - </Col>  
136 - </Row>  
137 - </StandardFormRow>  
138 - </Form>  
139 - </Card>  
140 - <List  
141 - rowKey="id"  
142 - style={{ marginTop: 24 }}  
143 - grid={{ gutter: 24, xl: 4, lg: 3, md: 3, sm: 2, xs: 1 }}  
144 - loading={loading}  
145 - dataSource={list}  
146 - renderItem={item => (  
147 - <List.Item key={item.id}>  
148 - <Card  
149 - hoverable  
150 - bodyStyle={{ paddingBottom: 20 }}  
151 - actions={[  
152 - <Tooltip title="下载">  
153 - <Icon type="download" />  
154 - </Tooltip>,  
155 - <Tooltip title="编辑">  
156 - <Icon type="edit" />  
157 - </Tooltip>,  
158 - <Tooltip title="分享">  
159 - <Icon type="share-alt" />  
160 - </Tooltip>,  
161 - <Dropdown overlay={itemMenu}>  
162 - <Icon type="ellipsis" />  
163 - </Dropdown>,  
164 - ]}  
165 - >  
166 - <Card.Meta avatar={<Avatar size="small" src={item.avatar} />} title={item.title} />  
167 - <div className={styles.cardItemContent}>  
168 - <CardInfo  
169 - activeUser={formatWan(item.activeUser)}  
170 - newUser={numeral(item.newUser).format('0,0')}  
171 - />  
172 - </div>  
173 - </Card>  
174 - </List.Item>  
175 - )} 92 + const mainSearch = (
  93 + <div style={{ textAlign: 'center' }}>
  94 + <Input.Search
  95 + placeholder="请输入"
  96 + enterButton="搜索"
  97 + size="large"
  98 + onSearch={this.handleFormSubmit}
  99 + style={{ width: 522 }}
176 /> 100 />
177 </div> 101 </div>
178 ); 102 );
  103 +
  104 + return (
  105 + <PageHeaderWrapper
  106 + title="搜索列表"
  107 + content={mainSearch}
  108 + onTabChange={this.handleTabChange}
  109 + >
  110 + <div className={styles.filterCardList}>
  111 + <Card bordered={false}>
  112 + <Form layout="inline">
  113 + <StandardFormRow title="所属类目" block style={{ paddingBottom: 11 }}>
  114 + <FormItem>
  115 + {getFieldDecorator('category')(
  116 + <TagSelect expandable>
  117 + <TagSelect.Option value="cat1">类目一</TagSelect.Option>
  118 + <TagSelect.Option value="cat2">类目二</TagSelect.Option>
  119 + <TagSelect.Option value="cat3">类目三</TagSelect.Option>
  120 + <TagSelect.Option value="cat4">类目四</TagSelect.Option>
  121 + <TagSelect.Option value="cat5">类目五</TagSelect.Option>
  122 + <TagSelect.Option value="cat6">类目六</TagSelect.Option>
  123 + <TagSelect.Option value="cat7">类目七</TagSelect.Option>
  124 + <TagSelect.Option value="cat8">类目八</TagSelect.Option>
  125 + <TagSelect.Option value="cat9">类目九</TagSelect.Option>
  126 + <TagSelect.Option value="cat10">类目十</TagSelect.Option>
  127 + <TagSelect.Option value="cat11">类目十一</TagSelect.Option>
  128 + <TagSelect.Option value="cat12">类目十二</TagSelect.Option>
  129 + </TagSelect>
  130 + )}
  131 + </FormItem>
  132 + </StandardFormRow>
  133 + <StandardFormRow title="其它选项" grid last>
  134 + <Row gutter={16}>
  135 + <Col lg={8} md={10} sm={10} xs={24}>
  136 + <FormItem {...formItemLayout} label="作者">
  137 + {getFieldDecorator('author', {})(
  138 + <Select placeholder="不限" style={{ maxWidth: 200, width: '100%' }}>
  139 + <Option value="lisa">王昭君</Option>
  140 + </Select>
  141 + )}
  142 + </FormItem>
  143 + </Col>
  144 + <Col lg={8} md={10} sm={10} xs={24}>
  145 + <FormItem {...formItemLayout} label="好评度">
  146 + {getFieldDecorator('rate', {})(
  147 + <Select placeholder="不限" style={{ maxWidth: 200, width: '100%' }}>
  148 + <Option value="good">优秀</Option>
  149 + <Option value="normal">普通</Option>
  150 + </Select>
  151 + )}
  152 + </FormItem>
  153 + </Col>
  154 + </Row>
  155 + </StandardFormRow>
  156 + </Form>
  157 + </Card>
  158 + <List
  159 + rowKey="id"
  160 + style={{ marginTop: 24 }}
  161 + grid={{ gutter: 24, xl: 4, lg: 3, md: 3, sm: 2, xs: 1 }}
  162 + loading={loading}
  163 + dataSource={list}
  164 + renderItem={item => (
  165 + <List.Item key={item.id}>
  166 + <Card
  167 + hoverable
  168 + bodyStyle={{ paddingBottom: 20 }}
  169 + actions={[
  170 + <Tooltip title="下载">
  171 + <Icon type="download" />
  172 + </Tooltip>,
  173 + <Tooltip title="编辑">
  174 + <Icon type="edit" />
  175 + </Tooltip>,
  176 + <Tooltip title="分享">
  177 + <Icon type="share-alt" />
  178 + </Tooltip>,
  179 + <Dropdown overlay={itemMenu}>
  180 + <Icon type="ellipsis" />
  181 + </Dropdown>,
  182 + ]}
  183 + >
  184 + <Card.Meta avatar={<Avatar size="small" src={item.avatar} />} title={item.title} />
  185 + <div className={styles.cardItemContent}>
  186 + <CardInfo
  187 + activeUser={formatWan(item.activeUser)}
  188 + newUser={numeral(item.newUser).format('0,0')}
  189 + />
  190 + </div>
  191 + </Card>
  192 + </List.Item>
  193 + )}
  194 + />
  195 + </div>
  196 + </PageHeaderWrapper>
  197 + );
179 } 198 }
180 } 199 }
181 200
  1 +import React from 'react';
  2 +import { FormattedMessage } from 'umi/locale';
  3 +import Link from 'umi/link';
  4 +import { PageHeader } from 'ant-design-pro';
  5 +import styles from './index.less';
  6 +
  7 +const PageHeaderWrapper = ({ children, wrapperClassName, ...restProps }) => (
  8 + <div style={{ margin: '-24px -24px 0' }} className={wrapperClassName}>
  9 + <PageHeader
  10 + home={<FormattedMessage id="menu.home" defaultMessage="Home" />}
  11 + key="pageheader"
  12 + {...restProps}
  13 + linkElement={Link}
  14 + itemRender={item => {
  15 + if (item.locale) {
  16 + return <FormattedMessage id={item.locale} defaultMessage={item.title} />;
  17 + }
  18 + return item.title;
  19 + }}
  20 + />
  21 + {children ? <div className={styles.content}>{children}</div> : null}
  22 + </div>
  23 +);
  24 +
  25 +export default PageHeaderWrapper;
  1 +@import '~antd/lib/style/themes/default.less';
  2 +
  3 +.content {
  4 + margin: 24px 24px 0;
  5 +}
  6 +
  7 +@media screen and (max-width: @screen-sm) {
  8 + .content {
  9 + margin: 24px 0 0;
  10 + }
  11 +}
注册登录 后发表评论