react关于弹层的组件

react关于组件搜索一堆,对于小白来说看不懂。写个晓得例子供大家参考:

第一步:

import React,{Component,useState} from 'react'; //引入react关键
 
import { Button, Modal, Form, Input, Table } from 'antd';//antd 组件使用

import {get,del,post} from '../../utils/request' //请求方法封装

第二步:搭建组件主体

class Lists extends Component {

    constructor(){
       super();
        this.state={
          
        }
    }
    return (
        <div></div>
    )
}
export default Lists;

第三步:主体内容 弹层

<Modal
    title="创建登录者"
    visible={this.state.visible}
    onOk={this.handleOk}
    onCancel={this.handleCancel}
    okText='创建'
    cancelText = '取消'
 >
  <div>
    <label>用户名:</label>
    <input className="ant-input" type="text" 
           value={this.state.username} 
           name="username"
           onChange={(event)=>this.handleChange(event)}/>
  </div>
  <div>
    <label>密码:</label>
    <input className="ant-input" type="password" 
           value={this.state.password} 
           name="password"
           onChange={(event)=>this.handleChange(event)}/>
  </div>
</Modal>

第四步:方法

constructor(){
    super();
    this.state={
      visible:false,
      password:'',
      username:'',
    }
}
showModal = () => {  //弹层显示
    this.setState({
      visible: true,
    });
  };
  handleOk = () => {
    console.log(this.state.username)
    const {username,password} = this.state;
    post('请求方法名',
        {
            account:username,
            password:password
    }).then(res=>{
      console.log(res);
      if(res.data.code=='20000'){
        this.getData(); //调用查询数据接口
        this.setState({
          visible: false  //弹层隐藏
        });
      }else {}
    })
    .catch(error=>{
      console.log(error)
    })
  }
  handleCancel = e => {  //点击取消
    console.log(e);
    this.setState({
      visible: false,
    });
  };
  handleChange(e){
    var name=e.target.name;   //name  password  phone
    this.setState({
      [name]:e.target.value
    })
  }

第五步:效果图

这就是弹层的全部代码 。

如果需要可以封装成单独的组件使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值