1. import React, { forwardRef } from 'react';
    2. import { Form, Input, Select, Button, Row, Col } from 'antd';
    3. import { FormComponentProps } from 'antd/lib/form/Form';
    4. interface IFliterProps extends FormComponentProps {
    5. onSubmitSuccess: (values: any) => void;
    6. }
    7. function Fliter(props: IFliterProps) {
    8. const { form, onSubmitSuccess } = props;
    9. const { getFieldDecorator, resetFields, validateFields } = form;
    10. const onSubmit = () => {
    11. validateFields((errors, values) => {
    12. if (errors) {
    13. console.log('errors', errors);
    14. }
    15. console.log('values', values);
    16. onSubmitSuccess(values);
    17. });
    18. };
    19. const onReset = () => {
    20. resetFields();
    21. };
    22. return (
    23. <div className="strategy-fliter-wrapper">
    24. <Form layout="inline">
    25. <Row>
    26. <Col span={8}>
    27. <Form.Item label="策略名称" labelCol={{ span: 7 }}>
    28. {getFieldDecorator('strategyName')(
    29. <Input placeholder="请输入策略名称" />,
    30. )}
    31. </Form.Item>
    32. </Col>
    33. </Row>
    34. </Form>
    35. <div style={{ float: 'right' }}>
    36. <Button type="primary" onClick={onSubmit}>
    37. 查询
    38. </Button>
    39. &nbsp;&nbsp;
    40. <Button onClick={onReset}>重置</Button>
    41. </div>
    42. </div>
    43. );
    44. }
    45. // IFliterProps 指定子组件的属性类型
    46. const WrappedFliter = Form.create<IFliterProps>()(forwardRef(Fliter));
    47. export default WrappedFliter;