您现在的位置是:网站首页> 编程资料编程资料
react封装Dialog弹框的方法_React_
2023-05-24
365人已围观
简介 react封装Dialog弹框的方法_React_
本文实例为大家分享了react封装Dialog弹框的具体代码,供大家参考,具体内容如下

Dialog.js
import React, { Component, Children } from "react"; import { createPortal } from "react-dom"; import "../static/css/Dialog.scss" export default class Dialog extends Component { constructor(props) { super(props); const doc = window.document; this.node = doc.createElement("div"); doc.body.appendChild(this.node); } componentWillUnmount() { window.document.body.removeChild(this.node); } render() { const { children, hideDialog, hide } = this.props; let tem = hide ? "hidden" : ""; console.log("hide", tem); return createPortal( {children} , this.node ); } }Dialog.scss
.dialogBox { position: fixed; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 100%; height: 100%; background: rgba($color: #000000, $alpha: 0.5); display: flex; justify-content: center; align-items: center; .dialog{ width: 50%; height: 50%; text-align: center;; background-color: #fff; } }DialogPage.js 使用
/* * @Author: shihaixia * @Date: 2022-02-24 09:58:02 * @Description: */ import React, { Component } from "react"; import { Button } from "antd"; import Dialog from "../components/Dialog"; export default class DialogPage extends Component { constructor(props) { super(props); this.state = { showDialog: false, }; } handleShowDialog = () => { this.setState({ showDialog: !this.state.showDialog, }); }; render() { const { showDialog } = this.state; return ( DialogPage
{showDialog && ( )} ); } }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
