1. login form

import React from "react";
import {Row, Col} from "antd";
import {Form, Input, Button} from "antd"; import LoginHeader from "./LoginHeader";
import AppFooter from "page/layout/footer/AppFooter";
import "./index.scss"; const FormItem = Form.Item; class LoginForm extends React.Component{ constructor(props){
super(props);
}
loginHandler(e) {
e.preventDefault();
let loginInfo = {};
this.props.form.validateFields((err, values) => {
if(!err){
loginInfo = {
username: values.username,
password: values.password
}
}
})
}
render() { const {getFieldDecorator} =this.props.form; return ( <div className="app-layout app-login"> <div className="login-header"> <LoginHeader /> </div> <div className="login-body"> <div className="app-layout-container"> <Row type="flex" justify="center"> <Col span={24}> <div className="login-left"> <img src="" alt="欢迎登陆react reducer demo"/> </div> <div className="login-right"> <Form onSubmit={(e) => this.loginHandler(e)} className="login-form"> <FormItem> {getFieldDecorator('username',{ rules: [{ required: true, message: "username not null" }] })(<Input addonBefore="username" placeholder="please enter username"/>)} </FormItem> <FormItem> {getFieldDecorator('password',{ rules: [{ required: true, message: "password not null" }] })(<Input addonBefore="password" placeholder="please enter password"/>)} </FormItem> <FormItem> <Button className="btn-block" type="primary" htmlType="submit">login</Button> </FormItem> </Form> </div> </Col> </Row> </div> </div> <AppFooter /> </div>  ) } } const Login = Form.create()(LoginForm); export default Login;

2. index.scss

@import "../../styles/varibles";
.app-login{
.login-header {
background: $bg-color;
margin-bottom: 20px;
}
.login-body {
background: $bg-color;
min-height: 550px; .login-left {
width: 58%;
float: left;
img {
width: 600px;
height: 500px;
}
}
.login-right {
width: 42%;
float: right;
height: 500px;
border: $border; .login-form {
margin: 65px 0 45px 78px; .btn-block {
width: 320px;
height: 40px;
margin-top: 20px;
} .btn, .ant-input {
height: 40px;
} .ant-input-group-addon {
width: 82px;
background-color: $bg-color;
text-align: center;
}
.ant-input {
padding: 0 20px;
width: 238px;
}
}
}
}
}

react login page demo的更多相关文章

  1. [转]Angular: Hide Navbar Menu from Login page

    本文转自:https://loiane.com/2017/08/angular-hide-navbar-login-page/ In this article we will learn two ap ...

  2. gitlab手残点错关闭注册No authentication methods configured on login page

    Gitlab - 如何解決 "No authentication methods configured on login page" ? (gitlab version : 8.1 ...

  3. 一个 react 小的 demo

    一.搭建开发环境: webpack构建工具. 新建一个文件夹(login),进入根目录, 1.输入命令:cnpm init,生成了一个package.json文件,这是一个标准的npm说明文件,里面蕴 ...

  4. React Native官方DEMO

    官方给我们提供了UIExplorer项目,这里边包含React Native的基本所有组件的使用介绍和方法. 运行官方DEMO步骤如下 安装react native环境 React Native项目源 ...

  5. React问答小demo

    在学习react初期,看了一些视频和资料,react基础知识差不多学完,跟着网上的一个教程,做了一个小型的问答demo. 需求看图说: 1.点击"添加"按钮,显示问题输入表单,再次 ...

  6. 助你了解react的小demo

    React是个啥 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图). React 起源于 Facebo ...

  7. React Native八大Demo

    参考资料:http://www.cnblogs.com/shaoting/p/7148240.html 下一个项目公司也打算使用react native.大致看了下原型设计,写几个小demo先试试水. ...

  8. react context toggleButton demo

    //toggleButton demo: //code: //1.Appb.js: import React from 'react'; import {ThemeContext, themes} f ...

  9. React入门理解demo

    1.React文档结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

随机推荐

  1. 利用Docker快速部署Oracle环境

    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ...

  2. 006-shiro授权

    一.授权流程 二.三种授权方式 2.1.编程式:通过写if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(subject ...

  3. django的序列化问题

    Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式 1.serializers from django.core import seria ...

  4. go——流程控制

    Go在流程控制方面的特点如下: 没有do和while循环,只有一个更广义的for语句. switch语句灵活多变,还可以用于类型判断. if语句和switch语句都可以包含一条初始化子语句. brea ...

  5. wechat多开

    右键wechat查看属性,找到目标(wechat的执行路径),复制 然后在桌面新建文档,输入下面命令,想多开几个就复制几行 start 复制的目标 另存为bat文件,所有文件类型 双击运行

  6. java要注意的问题3

    十七.使用正则 正则表达式的结构摘录如下(来源: Oracle官网) 字符 x 字符x / 反斜杠 /0n 8进制值为0n的字符(0<=n<=7) /0nn   /0mnn 8进制值为0m ...

  7. SharePoint 2010 以Jquery Ajax方式更新SharePoint列表数据!

    之前本人的博客介绍了<sharepoint 2010自定义访问日志列表设置移动终端否和客户端访问系统等计算列的公式>,那如何通过Jquery提交访问日志到自定义的SharePoint的访问 ...

  8. python入门四:异常

    一.异常 异常就是在触发异常条件时(解释器或程序员)而采取相应的措施 c++中异常使用try, throw, catch等关键字,而python中使用try, raise, except等 二.标准异 ...

  9. D3学习之地图

    D3学习之地图 (2017.03.09-03.11) 地图的意义 在可视化领域中,将数据点投影和关联到地理区域上,是一个非常关键的内容(体现了可视化中利用读者自身知识常识从而加速吸收信息的原则). G ...

  10. 2018-2019-2 20165114《网络对抗技术》Exp3 免杀原理与实践

    Exp3 免杀原理与实践 目录 一.实验内容 二.基础问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 三.实践过程记录 正确使用msf编码器,msfv ...