import React, { useState, useLayoutEffect, Component } from 'react';
import { storiesOf } from '@storybook/react';
import { Button, Modal, TreeSelect, Row, Col, Avatar, Icon, Select as BasicSelect,
Form,
useFormState,
useFormApi,
useFieldApi,
useFieldState,
withFormState,
withFormApi,
withField,
ArrayField,
AutoComplete,
Collapse } from '../../../index';
import { ComponentUsingFormState } from '../Hook/hookDemo';
const { Input, Select, DatePicker, Switch, Slider, CheckboxGroup, Checkbox, RadioGroup, Radio, TimePicker, InputNumber, InputGroup } = Form;
const plainOptions = ['Apple', 'Pear', 'Orange'];
const { Option } = Select;
const { Label } = Form;
const { Section } = Form;
// wrapperCol, labelCol
class LayoutDemo extends React.Component {
constructor() {
super();
this.state = {
labelPosition: 'left',
labelAlign: 'left',
// labelWidth: '180px'
};
this.changeLabelPos = this.changeLabelPos.bind(this);
this.changeLabelAlign = this.changeLabelAlign.bind(this);
}
changeLabelPos(labelPosition) {
let labelWidth;
// labelPosition === 'left' ? labelWidth = '180px' : labelWidth = 'auto';
this.setState({ labelPosition, labelWidth });
}
changeLabelAlign(labelAlign) {
this.setState({ labelAlign });
}
setValues() {
this.formApi.setValues({
});
}
render() {
const { labelPosition, labelAlign, labelWidth } = this.state;
return (
<>
top
left
left
right
value === 'muji', message: 'not muji' }
]}
/>
管理员admin
用户user
访客guest
根用户root
root
man
woman
slot
>
);
}
}
class InsetLabelDemo extends React.Component {
constructor(props) {
super();
this.state = {
labelPosition: 'left',
labelAlign: 'left',
// labelWidth: '180px'
};
this.changeLabelPos = this.changeLabelPos.bind(this);
this.changeLabelAlign = this.changeLabelAlign.bind(this);
}
changeLabelPos(labelPosition) {
let labelWidth;
// labelPosition === 'left' ? labelWidth = '180px' : labelWidth = 'auto';
this.setState({ labelPosition, labelWidth });
}
changeLabelAlign(labelAlign) {
this.setState({ labelAlign });
}
render() {
const { labelPosition, labelAlign } = this.state;
return (
slot
);
}
}
class GroupFormDemo extends React.Component {
constructor() {
super();
this.saveFormApi = this.saveFormApi.bind(this);
this.manualSubmit = this.manualSubmit.bind(this);
}
saveFormApi(formApi) {
this.formApi = formApi;
}
manualSubmit() {
this.formApi.submitForm();
}
render() {
const selectProps = {
style: { width: '100px' },
placeholder: '国家',
field: 'country',
rules: [
{ required: true }
]
};
return (
<>
>
);
}
}
class LayoutForm extends React.Component {
constructor() {
super();
this.state = {
filed: {},
layout: 'vertical',
labelPosition: 'top',
// horizontal
};
this.getFormApi = this.getFormApi.bind(this);
this.changeLayout = this.changeLayout.bind(this);
this.changeLabelPos = this.changeLabelPos.bind(this);
}
changeLayout(layout) {
this.setState({ layout });
}
changeLabelPos(labelPosition) {
this.setState({ labelPosition });
}
changeInput() {
this.formApi.setValue('input', Math.random());
}
getFormApi(formApi) {
this.formApi = formApi;
}
render() {
const { field } = this.state;
const { layout, labelPosition } = this.state;
return (
<>
vertical
horizontal
top
left
>
);
}
}
export { LayoutDemo, InsetLabelDemo, GroupFormDemo };