亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

使用React手寫一個對話框或模態框的方法示例

2024-05-06 16:50:15
字體:
來源:轉載
供稿:網友

打算用React對話框已經很長一段時間,現在是時候兌現承諾了。實際上,寫起來相當簡單。

核心在于使用React的接口React.createPortal(element, domContainer)。該接口將element渲染后的DOM節點嵌入domContainer(通常是document.body),并保證只嵌入一次。

所以,我們可以這樣寫一個對話框或模態框

function Dialog() {  return React.createPortal( <div>Dialog contents</div>, document.body )}

一個新的div會出現在body內部:

React,對話框,模態框

一個完整DEMO:

React,對話框,模態框

點擊運行DEMO

class Modal extends React.Component { render() {  const {   visible,   onClose  } = this.props  return visible && ReactDOM.createPortal(<StyledModalRoot>   <div className="box">    Content    <br/>    <button onClick={onClose}>Close</button>   </div>  </StyledModalRoot>, document.body) }}class App extends React.Component { state = {  visibleModal: false } showModal = () => this.setState( { visibleModal: true } ) handleCloseModal = () => this.setState( { visibleModal: false } ) render() {  const { visibleModal } = this.state  return <div style={{padding: '20px'}}>  <button onClick={ this.showModal }>Show Modal</button>  <Modal visible={visibleModal} onClose={ this.handleCloseModal } /> </div> }}const StyledModalRoot = styled.div` position: fixed; z-index: 1001; left: 0; top: 0; display: grid; place-items: center; width: 100%; height: 100%; background: rgba( 0, 0, 0, 0.2 ); >.box {  position: relative;  display: grid;  place-items: center;  width: 80%;  height: 80%;  background: white;  border-radius: 10px;  box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2), 0px 5px 8px 0px rgba(0,0,0,0.14), 0px 1px 14px 0px rgba(0,0,0,0.12); }`

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品视频| 国产成人精品视频在线观看| 高清欧美性猛交xxxx| 欧美与欧洲交xxxx免费观看| 日韩福利伦理影院免费| 欧美国产日韩二区| 欧美一区亚洲一区| 亚洲性生活视频在线观看| 日韩成人在线观看| 日韩av理论片| 91欧美精品午夜性色福利在线| 欧美精品久久久久久久久| 欧美午夜视频在线观看| 久久伊人精品一区二区三区| 亚洲精品98久久久久久中文字幕| 97视频网站入口| 26uuu亚洲国产精品| 奇米4444一区二区三区| 国产视频久久网| 成人国产精品免费视频| www.精品av.com| 亚洲一级黄色av| 亚洲国产精品一区二区久| 久久资源免费视频| 国外色69视频在线观看| 国产精品高精视频免费| 一区二区三区美女xx视频| 国产精品美女久久久久久免费| 欧洲成人免费视频| 久久国产精品电影| 91po在线观看91精品国产性色| 久久久久五月天| 国产香蕉97碰碰久久人人| 国产欧美 在线欧美| 亚洲精品动漫100p| 亚洲片在线观看| 国产成人一区三区| 午夜精品一区二区三区在线| 亚洲美女av电影| 69精品小视频| 午夜精品久久久久久久99热浪潮| 亚洲国产成人精品久久| 欧美一二三视频| 欧美一区深夜视频| 国产精品成人品| 国产精品久久久久久久久免费| 日韩av手机在线观看| 情事1991在线| 欧美极度另类性三渗透| 亚洲风情亚aⅴ在线发布| 日韩电影第一页| 久久免费精品日本久久中文字幕| 成年无码av片在线| 一本色道久久综合狠狠躁篇的优点| 欧美激情性做爰免费视频| 岛国视频午夜一区免费在线观看| 奇门遁甲1982国语版免费观看高清| 亚洲精品美女久久| 欧美亚洲免费电影| 亚洲自拍偷拍一区| 91国偷自产一区二区三区的观看方式| 欧美成人黑人xx视频免费观看| 欧美极品少妇与黑人| 日韩欧美大尺度| 丰满岳妇乱一区二区三区| 国产成+人+综合+亚洲欧洲| 韩国福利视频一区| 久久精品国产欧美亚洲人人爽| 在线视频日韩精品| 亚洲人成绝费网站色www| 久久久久在线观看| 亚洲一区亚洲二区亚洲三区| 欧美激情免费视频| 日韩av在线一区| 国产精品亚洲аv天堂网| 81精品国产乱码久久久久久| 26uuu亚洲伊人春色| 中文字幕欧美专区| 欧美一区二区三区……| 高清日韩电视剧大全免费播放在线观看| 欧美激情亚洲另类| 国产精品专区h在线观看| 国产精品网红直播| 国产视频一区在线| 欧美成人精品xxx| 日韩69视频在线观看| 国内精品视频久久| 在线播放日韩欧美| 久久久久久噜噜噜久久久精品| 国产成人精品久久二区二区91| 国产中文欧美精品| 91综合免费在线| 国产日韩欧美在线播放| 国产精品视频xxx| 国产精品老女人视频| 亚洲第一区中文字幕| 久久亚洲精品视频| 国产精品99蜜臀久久不卡二区| 中文字幕免费国产精品| 国产精品视频26uuu| xvideos亚洲| 久久久久久久网站| 在线视频欧美日韩| 欧美成人网在线| 成人欧美一区二区三区黑人孕妇| 欧美视频在线观看免费网址| 日韩禁在线播放| 欧美在线视频免费播放| 日韩电影中文 亚洲精品乱码| 欧美在线激情视频| 国产成+人+综合+亚洲欧美丁香花| 在线日韩av观看| 懂色av一区二区三区| 欧美洲成人男女午夜视频| 欧美成人在线影院| 91av在线影院| 亚洲人免费视频| 国产精品白丝jk喷水视频一区| 亚洲欧美另类国产| 欧美日韩亚洲视频| 综合网中文字幕| 欧美大片在线看| 日韩国产中文字幕| 亚洲毛片在线观看.| 爽爽爽爽爽爽爽成人免费观看| 欧美一级大片视频| 国产成人激情小视频| 日韩www在线| 青青久久av北条麻妃黑人| 青青久久av北条麻妃黑人| 亚洲精品按摩视频| 成人黄色在线免费| 91精品久久久久久久久久另类| 正在播放欧美视频| 日韩亚洲成人av在线| 国产精品视频内| 久久91精品国产91久久久| 精品久久久久人成| 2019av中文字幕| 国产精品高潮呻吟久久av无限| 亚洲天堂成人在线视频| 7777免费精品视频| 欧美性videos高清精品| 国产亚洲美女久久| 久久免费视频这里只有精品| 成人免费自拍视频| 亚洲精品久久在线| 久久夜色精品国产亚洲aⅴ| 亚洲天堂av在线免费| 性欧美办公室18xxxxhd| 久久精品国产亚洲一区二区| 亚洲免费视频一区二区| 日韩一区二区福利| 亚洲国产天堂网精品网站| 国内精品视频一区| 色噜噜狠狠狠综合曰曰曰88av| 97久久精品国产| 中文字幕久精品免费视频| 成人在线播放av| 亚洲欧美另类国产| 日本久久久久亚洲中字幕| 欧美日韩爱爱视频| 日韩亚洲欧美中文在线| 一区二区三区在线播放欧美|