1. import React, { useEffect } from 'react';
    2. import { Button, message, Space } from 'antd';
    3. import FormRender, { useForm } from 'form-render';
    4. const schema = {
    5. type: 'object',
    6. properties: {
    7. dateRange: {
    8. bind: ['startDate', 'endDate'],
    9. title: '日期范围',
    10. type: 'range',
    11. format: 'date',
    12. },
    13. string: {
    14. title: '字符串',
    15. type: 'string',
    16. },
    17. string2: {
    18. title: '字符串 2',
    19. type: 'string',
    20. bind: 'test',
    21. required: true,
    22. },
    23. TravelDocumentDate: {
    24. title: '证件有效期',
    25. type: 'range',
    26. bind: ['TravelDocumentIssueDate', 'TravelDocumentexpireDate'],
    27. placeholder: ['签发日期', '有效期至'],
    28. format: 'date',
    29. required: true,
    30. },
    31. },
    32. };
    33. const Demo = () => {
    34. const form = useForm();
    35. useEffect(() => {
    36. form.setValues({
    37. startDate: '2020-04-05',
    38. endDate: '2020-04-24',
    39. string: 'aaa',
    40. test: 'bbb',
    41. });
    42. }, []);
    43. const onFinish = (data, errors) => {
    44. if (errors.length > 0) {
    45. message.error(
    46. '校验未通过:' + JSON.stringify(errors.map(item => item.name))
    47. );
    48. } else {
    49. console.log(data);
    50. message.success('提交成功!');
    51. }
    52. };
    53. const getRemoteData = () => {
    54. form.setValues({ startDate: '2020-04-04', endDate: '2020-04-24' });
    55. };
    56. return (
    57. <div style={{ width: '400px' }}>
    58. <FormRender disabled form={form} schema={schema} onFinish={onFinish} />
    59. <Space>
    60. <Button onClick={getRemoteData}>加载服务端数据</Button>
    61. <Button type="primary" onClick={form.submit}>
    62. 提交(见console
    63. </Button>
    64. </Space>
    65. </div>
    66. );
    67. };
    68. export default Demo;