import * as React from 'react'; // import { action } from '@storybook/addon-actions'; import moment from 'moment'; import { Button, Space, Divider } from 'antd'; import FormMate, { ConfigProvider } from '../../src'; import { ComponentType } from '../../src/interfaces'; const { useEffect } = React; const dateFormat = 'YYYY-MM-DD'; const BasicForm: React.FC = () => { const [formMate] = FormMate.useFormMate(); const initialValues = { hidden: 1, formatDate: moment().format(dateFormat), unix: 1565151166, ms: 1565151166124, 'date-period': ['2019-01-01 12:00:00', '2019-08-07 10:00:00'], 'datetime-period': ['2019-01-01', '2019-08-07'], select: 'earth', switch: 0, dynamic: '2020-04-07', name2: 'name2', }; useEffect(() => { formMate.setInitialValues(initialValues); }, []); const handleFinish = () => { const rawValues = formMate.getFieldsValue(true); console.log('Received raw values of form: ', rawValues); // 过滤,得到当前显示组件的字段值 const values = formMate.getFieldsValue(undefined, () => true); console.log('Received values of form: ', values); }; const handleFinishFailed = (errors) => { console.log('Errors:', errors); }; return ( { console.log('onValuesChange', changedValues, allValues); }} style={{ maxWidth: 1200, margin: '0 auto', padding: '24px 16px 0', }} // layout='vertical' grid={{ row: { gutter: 16, }, col: (name) => { if (['date-period', 'datetime-period'].includes(name as string)) { return { sm: 24, md: 12, lg: 16, }; } return { sm: 24, md: 12, lg: 8, }; }, }} onReset={() => { formMate.resetFieldsValue(); }} > { formMate.setFieldsValue({ name: event.target.value, hidden: event.target.value, }); }, }} /> { return getFieldValue('name') === 'form'; }} /> ); }; const setCommonProps = (type: ComponentType) => { if (!(['check-group', 'textarea', 'switch'] as ComponentType[]).includes(type)) { return { allowClear: true, }; } return null; }; export default BasicForm;