React加Ant Design实现的一个登陆界面及小案例

摘要:
'}],})(<Inputprefix={<Icontype=“user”style={{color:'rgba(0,0,0,.25)'}}/˃}placeholder=“Username”/˃)}</FormItem><FormItem>{getFieldDecorator('密码',{rules:〔{required:true,消息:'请输入您的密码!

如果你没有安装过react脚手架的就需要先安装:

在cmd输入命令安装:

React加Ant Design实现的一个登陆界面及小案例第1张

可以在cmd输入create-react-app 项目名称    来创建一个react项目

React加Ant Design实现的一个登陆界面及小案例第2张

建好后在输入命令:npm install antd --save 来下载安装ant Design框架

然后就可以输入命令:npm start 来启动运行项目了

在HBuilder里导入打开该项目(目录结构如下):

React加Ant Design实现的一个登陆界面及小案例第3张

具体实现代码如下:

App.js代码

import React, { Component } from 'react';


import MyMain from './MyMain';
class App extends Component {
  render() {
    return (
      <div>
        <MyMain></MyMain>
       
      </div>
    );
  }
}

export default App;
index.js代码
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import MyMain from './MyMain';
import { Form, Icon, Input, Button, Checkbox } from 'antd';

const WrappedNormalLoginForm = Form.create()(MyMain);
ReactDOM.render(<WrappedNormalLoginForm />, document.getElementById('root'));
MyMain.js代码:
import React, { Component } from 'react';
import 'antd/dist/antd.css';
import { Form, Icon, Input, Button, Checkbox } from 'antd';
import './index.css';

const FormItem = Form.Item;


class MyMain extends React.Component {
  handleSubmit = (e) => {
    e.preventDefault();
    this.props.form.validateFields((err, values) => {
      if (!err) {
        console.log('Received values of form: ', values);
      }
    });
  }
  render() {
    const { getFieldDecorator } = this.props.form;
    return (
      <Form onSubmit={this.handleSubmit} className="login-form">
        <FormItem>
          {getFieldDecorator('userName', {
            rules: [{ required: true, message: 'Please input your username!' }],
          })(
            <Input prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />} placeholder="Username" />
          )}
        </FormItem>
        <FormItem>
          {getFieldDecorator('password', {
            rules: [{ required: true, message: 'Please input your Password!' }],
          })(
            <Input prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }} />} type="password" placeholder="Password" />
          )}
        </FormItem>
        <FormItem>
          {getFieldDecorator('remember', {
            valuePropName: 'checked',
            initialValue: true,
          })(
            <Checkbox>Remember me</Checkbox>
          )}
          <a className="login-form-forgot" href="http://t.zoukankan.com/aa1314-p-8205261.html">Forgot password</a>
          <Button type="primary" htmlType="submit" className="login-form-button">
            Log in
          </Button>
          Or <a href="http://t.zoukankan.com/aa1314-p-8205261.html">register now!</a>
        </FormItem>
      </Form>
    );
  }
}

export default MyMain;

运行的效果图:

React加Ant Design实现的一个登陆界面及小案例第4张

 hardDream!

免责声明:文章转载自《React加Ant Design实现的一个登陆界面及小案例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇网络技能大赛A卷测试CentOS 6.9关闭NetworkManager服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

React函数组件模拟生命周期(useEffect)

React Hooks提供React.useEffect来解决函数组件没有生命周期的问题 React.useEffect(fn,?)第一个参数是特定实时机执行的回调函数,第二个参数是指依赖项   1.模拟componentDidMount第一次渲染 useEffect(() => { console.log(''); }, []) // 第二...

React16源码解读:开篇带你搞懂几个面试考点

引言 如今,主流的前端框架React,Vue和Angular在前端领域已成三足鼎立之势,基于前端技术栈的发展现状,大大小小的公司或多或少也会使用其中某一项或者多项技术栈,那么掌握并熟练使用其中至少一种也成为了前端人员必不可少的技能饭碗。当然,框架的部分实现细节也常成为面试中的考察要点,因此,一方面为了应付面试官的连番追问,另一方面为了提升自己的技能水平,还...

react 的一个插件

Reactjs code snippets (vs code 编辑器里面的一个插件 支持 react 得简写) rcc 和 rfc 可以快速生成react代码 下面网址是个react文档: https://materialui-ch.gitbooks.io/material-ui_doc_chinese/content/fu-wu-qi-xuan-ran....

react lib-flexible postcss-px2rem集成

1.安装lib-flexible、postcss-px2rem yarn add lib-flexible postcss-px2rem-exclude --save 2.index.js文件引入 import 'lib-flexible'; 3.config-overrides.js文件覆盖 const { override, fixBabelImp...

关于react实现类似vue keep-alive 的cache router的功能解决方案

// 问题来源 众所周知react是单页面应用,在路由发生变化的时候,她所对应的页面或者组件会被卸载。当路由加载的时候,原页面所有的数据都会重新加载 这在移动端的用户体验可能是一个重大灾难! 比如列表滚动到第20页或者tab切换第三个tab 再去滚动列表进入详情页,当你返回的时候你原来的浏览记录被重新加载了,这个体验会是非常差。 react官方...

React Native Image多种加载图片方式

React-NativeImage加载图片方式解析 1.加载当前工程文件夹下图片 <Image style={styles.image} source={require('./TT2.jpg')} /> 2.加载当前应用沙盒文件内图片 分析: 假定图片存储在document文件夹下(document/TT1.jpg) 理论上这个加载方式和第一种...