LoginForm.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import React, {Component} from "react";
  2. import {Button, Form, Input, message} from "antd";
  3. import {apiLogin} from "../../services/API/API";
  4. import {LockOutlined, UserOutlined} from "@ant-design/icons";
  5. import './Form.less'
  6. class LoginForm extends Component {
  7. handleSubmitLogin = values => {
  8. console.log('Received values of form: ', values);
  9. let params = {
  10. ...values
  11. }
  12. apiLogin(params).then(res => {
  13. if (res.data.code === 1001) {
  14. message.success(res.data.message);
  15. } else {
  16. message.error(res.data.message)
  17. }
  18. })
  19. };
  20. render() {
  21. return (
  22. <Form onSubmit={this.handleSubmitLogin} className="login-form" initialValues={{remember: true}}>
  23. <Form.Item
  24. name="account"
  25. rules={[{required: true, message: 'Please input your Username or E-mail!'}]}
  26. >
  27. <Input
  28. prefix={<UserOutlined className="site-form-item-icon"/>}
  29. placeholder="Username or E-mail"
  30. size="large"
  31. />
  32. </Form.Item>
  33. <Form.Item
  34. name="password"
  35. rules={[{required: true, message: 'Please input your Password!'}]}
  36. >
  37. <Input
  38. prefix={<LockOutlined className="site-form-item-icon"/>}
  39. type="password"
  40. placeholder="Password"
  41. size="large"
  42. />
  43. </Form.Item>
  44. <Form.Item style={{marginBottom: '10px'}}>
  45. <Button size="large" type="primary" htmlType="submit" className="login-form-button"
  46. style={{width: '100%'}}>
  47. LOGIN
  48. </Button>
  49. </Form.Item>
  50. <Form.Item style={{marginBottom: '0'}}>
  51. <Button type="link" block style={{textAlign: 'right'}} onClick={() => {
  52. this.props.handleLoginStatus('forget')
  53. }}>
  54. FORGET YOUR PASSWORD?
  55. </Button>
  56. </Form.Item>
  57. </Form>
  58. )
  59. }
  60. }
  61. export default LoginForm;