import React, { useState, useLayoutEffect, Component } from 'react'; import { storiesOf } from '@storybook/react'; import { Button, Modal, TreeSelect, Row, Col, Avatar, Select as BasicSelect, Form, useFormState, useFormApi, useFieldApi, useFieldState, withFormState, withFormApi, withField, ArrayField, AutoComplete, Collapse, Icon, } from '../../../index'; const { Input, Select, DatePicker, Switch, Slider, CheckboxGroup, Checkbox, RadioGroup, Radio, TimePicker, InputNumber, InputGroup } = Form; const UseFormApiDemo = () => { return (
{({ add, arrayFields }) => ( {arrayFields.map(({ field, key, remove }, i) => (
{/* 2D 3D */}
))}
)}
); }; const CustomStringify = values => { return JSON.stringify(values, (k, v) => (v === undefined ? '__undefined' : v)).replace( '"__undefined"', 'undefined' ); }; const ComponentUsingFormApi = () => { const formApi = useFormApi(); const [count, setCount] = useState(0); const change = () => { let value0 = { name: 'mikeyyaya', cc: 'adele', arrays: [ { name: 1, type: '1' }, { name: 2, type: '2' }, ], }; formApi.setValues(value0, { isOverride: true }); }; const change2 = () => { let value2 = { // name: '2', // cc: 'mike', arrays: [], }; formApi.setValues(value2, { isOverride: true }); }; return ( <> ); }; /** */ const ComponentUsingFormState = () => { const formState = useFormState(); return (
            {JSON.stringify(formState)}
            {/* {CustomStringify(formState)} */}
        
); }; const UseFormStateDemo = () => { return (
FormState read by 【useFormState】:
); }; const ComponentUsingFieldApi = () => { const nameFieldApi = useFieldApi('name'); const change = () => { nameFieldApi.setValue(Math.random()); }; return ; }; const UseFieldApiDemo = () => { return (
); }; const ComponentUsingFieldState = props => { const fieldState = useFieldState(props.field); return (
            {CustomStringify(fieldState)}
        
); }; const UseFieldStateDemo = () => { return (
【name】FieldState read by 【useFieldState】:
【country】FieldState read by 【useFieldState】:
); }; const WithFormStateDemo = () => { const SomeComponent = props => {CustomStringify(props.formState)}; const ComponentWithFormState = withFormState(SomeComponent); return (
); }; const WithFormApiDemo = () => { const SomeComponet = props => ( ); const ComponentWithFormApi = withFormApi(SomeComponet); return (
); }; export { UseFormApiDemo, UseFormStateDemo, UseFieldApiDemo, UseFieldStateDemo, WithFormStateDemo, WithFormApiDemo, ComponentUsingFormState, CustomStringify };