| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- import React, { useState, useLayoutEffect, Component } from 'react';
- import { storiesOf } from '@storybook/react';
- import { Button, Modal, TreeSelect, Row, Col, Avatar, Toast, Select as BasicSelect,
- Form,
- useFormState,
- useFormApi,
- useFieldApi,
- useFieldState,
- withFormState,
- withFormApi,
- withField,
- ArrayField,
- AutoComplete,
- Collapse,
- Icon } from '../../../index';
- import { ComponentUsingFormState } from '../Hook/hookDemo';
- const { Input, Select, DatePicker, Switch, Slider, CheckboxGroup, Checkbox, RadioGroup, Radio, TimePicker, InputNumber, InputGroup } = Form;
- const FieldLevelTriggerDemo = () => {
- const initValues = {
- name: 'semi',
- role: 'rd'
- };
-
- const style = { width: '100%' };
-
- const { Select, Input } = Form;
- return (
- <Form initValues={initValues}>
- <Form.Section text='FieldLevelTrigger'>
- <Input
- field="system"
- label='trigger=change(default)'
- style={style}
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Input
- field="name"
- label='trigger=blur'
- style={style}
- trigger='blur'
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Input
- field="both"
- label='trigger=blur & change'
- style={style}
- trigger={['blur', 'change']}
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Input
- field="role"
- label='trigger=mount'
- style={style}
- trigger='mount'
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Button htmlType='submit'>提交</Button>
- <Button htmlType='reset'>reset</Button>
- </Form.Section>
- </Form>
- );
- };
- const FormLevelTriggerDemo = () => {
- const initValues = {
- name: 'semi',
- role: 'rd'
- };
-
- const style = { width: '100%' };
-
- const { Select, Input } = Form;
- return (
- <Form initValues={initValues} trigger='blur'>
- <Form.Section text='FormLevelTrigger blur'>
- <Input
- field="name"
- style={style}
- label='fieldTrigger=change'
- trigger='change'
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Input
- field="role"
- label="fieldTrigger unset (default)"
- style={style}
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Input
- field="custom"
- label="fieldTrigger=custom"
- trigger='custom'
- style={style}
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Input
- field="both"
- label="fieldTrigger=mount & custom"
- trigger={['custom', 'mount']}
- style={style}
- rules={[
- { required: true, message: 'required error' },
- { type: 'string', message: 'type error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' }
- ]}
- />
- <Button htmlType='submit'>提交</Button>
- <Button htmlType='reset'>reset</Button>
- </Form.Section>
- </Form>
- );
- };
- const FieldStopDemo = () => {
- const initValues = {
- name: 'semi',
- role: 'rd'
- };
-
- const style = { width: '100%' };
-
- const { Select, Input } = Form;
- return (
- <Form initValues={initValues}>
- <Form.Section text='Field Stop=true'>
- <Input
- field="name"
- style={style}
- label='field stop=true'
- stopValidateWithError
- rules={[
- { required: true, message: 'required error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' },
- { validator: (rule, value) => value.startsWith('s'), message: 'should startwith s' },
- ]}
- />
- <Input
- field="role"
- style={style}
- label='field stop default (false)'
- rules={[
- { required: true, message: 'required error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' },
- { validator: (rule, value) => value && value.startsWith('s'), message: 'should startwith s' },
- ]}
- />
- <Button htmlType='submit'>提交</Button>
- <Button htmlType='reset'>reset</Button>
- </Form.Section>
- </Form>
- );
- };
- const FormStopDemo = () => {
- const style = { width: '100%' };
-
- const { Select, Input } = Form;
- return (
- <Form stopValidateWithError>
- <Form.Section text='Form Stop=true'>
- <Input
- field="name"
- style={style}
- label='field stop default (false)'
- rules={[
- { required: true, message: 'required error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' },
- { validator: (rule, value) => value.startsWith('s'), message: 'should startwith s' },
- ]}
- />
- <Input
- field="role"
- style={style}
- label='field stop default (false)'
- rules={[
- { required: true, message: 'required error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' },
- { validator: (rule, value) => value && value.startsWith('s'), message: 'should startwith s' },
- ]}
- />
- <Input
- field="role"
- style={style}
- stopValidateWithError={false}
- label='field stop false'
- rules={[
- { required: true, message: 'required error' },
- { validator: (rule, value) => value === 'semi', message: 'should be semi' },
- { validator: (rule, value) => value && value.startsWith('s'), message: 'should startwith s' },
- ]}
- />
- <Button htmlType='submit'>提交</Button>
- <Button htmlType='reset'>reset</Button>
- </Form.Section>
- </Form>
- );
- };
- const TriggerDemo = () => {
- return (
- <>
- <FieldLevelTriggerDemo></FieldLevelTriggerDemo>
- <FormLevelTriggerDemo></FormLevelTriggerDemo>
- <FieldStopDemo></FieldStopDemo>
- <FormStopDemo></FormStopDemo>
- </>
- );
- };
- export { TriggerDemo };
|