/* eslint react/no-multi-comp:0, no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';
const Email = {
props: {
form: Object,
},
render() {
const { getFieldProps, getFieldError, isFieldValidating } = this.form;
const errors = getFieldError('email');
return (
email sync validate
{errors ? errors.join(',') : null}
{isFieldValidating('email') ? 'validating' : null}
);
},
};
const User = {
props: {
form: Object,
},
methods: {
userExists(rule, value, callback) {
setTimeout(() => {
if (value === '1') {
callback([new Error('are you kidding?')]);
} else if (value === 'yiminghe') {
callback([new Error('forbid yiminghe')]);
} else {
callback();
}
}, 300);
},
},
render() {
const { getFieldProps, getFieldError, isFieldValidating } = this.form;
const errors = getFieldError('user');
return (
user async validate
{errors ? errors.join(',') : null}
{isFieldValidating('user') ? 'validating' : null}
);
},
};
const Form = {
methods: {
onSubmit(e) {
console.log('submit');
e.preventDefault();
this.form.validateFields(
{
// firstFields: false,
},
(error, values) => {
if (!error) {
console.log('ok', values);
} else {
console.log('error', error, values);
}
},
);
},
reset(e) {
e.preventDefault();
this.form.resetFields();
},
},
render() {
const { form } = this;
return (
);
},
};
export default createForm()(Form);