import React, { PureComponent as Component } from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { Form, Button, Input, Icon, message } from 'antd'; import { regActions } from '../../reducer/modules/user'; import { withRouter } from 'react-router'; const FormItem = Form.Item; const formItemStyle = { marginBottom: '.16rem' }; const changeHeight = { height: '.42rem' }; @connect( state => { return { loginData: state.user }; }, { regActions } ) @withRouter class Reg extends Component { constructor(props) { super(props); this.state = { confirmDirty: false }; } static propTypes = { form: PropTypes.object, history: PropTypes.object, regActions: PropTypes.func }; handleSubmit = e => { e.preventDefault(); const form = this.props.form; form.validateFieldsAndScroll((err, values) => { if (!err) { this.props.regActions(values).then(res => { if (res.payload.data.errcode == 0) { this.props.history.replace('/group'); message.success('注册成功! '); } }); } }); }; checkPassword = (rule, value, callback) => { const form = this.props.form; if (value && value !== form.getFieldValue('password')) { callback('两次输入的密码不一致啊!'); } else { callback(); } }; checkConfirm = (rule, value, callback) => { const form = this.props.form; if (value && this.state.confirmDirty) { form.validateFields(['confirm'], { force: true }); } callback(); }; render() { const { getFieldDecorator } = this.props.form; return (
{/* 用户名 */} {getFieldDecorator('userName', { rules: [{ required: true, message: '请输入用户名!' }] })( } placeholder="Username" /> )} {/* Emaiil */} {getFieldDecorator('email', { rules: [ { required: true, message: '请输入email!', pattern: /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{1,})+$/ } ] })( } placeholder="Email" /> )} {/* 密码 */} {getFieldDecorator('password', { rules: [ { required: true, message: '请输入密码!' }, { validator: this.checkConfirm } ] })( } type="password" placeholder="Password" /> )} {/* 密码二次确认 */} {getFieldDecorator('confirm', { rules: [ { required: true, message: '请再次输入密码密码!' }, { validator: this.checkPassword } ] })( } type="password" placeholder="Confirm Password" /> )} {/* 注册按钮 */}
); } } const RegForm = Form.create()(Reg); export default RegForm;