av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

如何使用vue slot創建一個模態框的實例代碼

瀏覽:52日期:2023-01-19 10:49:03

【1】遮罩層:承載內容,管理樣式布局。

【2】內容層:控制遮罩層的顯示與否。

遮罩層和內容區之間應該解耦。遮罩層和內容區之間應該解耦。遮罩層和內容區之間應該解耦。

遮罩層不依賴于內容區,內容是放置在遮罩層里的,至于內容區里的內容是什么,遮罩層完全不用在意。因此可以在遮罩層里采用插槽。

遮罩層的實現

<div v-if='visible'> <slot name='head'></slot> <slot name='body'></slot> <slot name='foot'></slot> </div>

<style scoped lang=’scss’> .common-mask { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba($color: #000000, $alpha: 0.75); display: flex; justify-content: center; align-content: center; z-index: 4; }</style>

內容層的實現

<Vue-Modal :visible='visible'> <div slot='head'>head</div> <div slot='body'>body</div> <div slot='foot'> <button @click='close'>Close</button> </div> </Vue-Modal>

PS:vue組件模態框實現方式

// 組件代碼

<template><div> <div class='dialog-modal'> <!-- 根元素,z-index 需要高于父容器其他元素 --> <div @click='onClose' v-show='isShow'></div> <!-- 加載一個具有透明度的背景,使根元素透明,子元素會繼承該透明度 --> <transition name='drop'> <div v-show='isShow'> <!-- 模態框容器,z-index 需要高于背景 --> <span @click='onClose'>x</span> <slot><p>hello</p> </slot> </div> </transition> </div></div></template><script> export default { props: { isShow:{type: Boolean,default: false } }, methods: { onClose(){this.$emit(’on-close’); } } }</script><style>.drop-enter-active { transition: all .5s;}.drop-leave-active { transition: all .3s;}.drop-enter { transform: translateY(-500px);}.drop-leave-active { transform: translateY(-500px);} .dialog-modal{ position: absolute; z-index: 5; } .dialog-wrapper { position: fixed; height: 100%; width: 100%; z-index: 5; top: 0; left: 0; bottom: 0; right: 0; } .dialog-wrapper{ background-color: #eee; opacity: .9; } .dialog-container{ position: fixed; z-index:80; top: 10%; left: 25%; width: 50%; /* margin: 0 auto; */ background-color: #eee; border-radius: 3px; box-shadow: 0 5px 15px rgba(0,0,0,.5); } span.close-btn{ padding: 0 5px; float: right; cursor: pointer; font-size: 18px; font-weight: bold; }</style>

// 組件使用

//導入模態對話框import modal from ’./plugins/dialog’// 在使用組件<modal></modal><modal @on-close='closeThis(’isShowLog’)':is-show=’isShowLog’><login></login></modal>

總結

到此這篇關于如何使用vue slot創建一個模態框的文章就介紹到這了,更多相關vue slot創建模態框內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
主站蜘蛛池模板: 午夜天堂精品久久久久 | 三级黄色片在线播放 | 91最新视频| www,黄色,com| 精品国产一区二区三区日日嗨 | 国产一区免费 | 狠狠狠色丁香婷婷综合久久五月 | 欧美寡妇偷汉性猛交 | 美女久久久久 | 在线高清免费观看视频 | 精品福利一区二区三区 | 热99| 中文字幕在线二区 | 成人免费网视频 | 国产精品69久久久久水密桃 | 在线看av网址 | 精品欧美乱码久久久久久 | 超碰在线播 | 成人免费在线播放 | 红桃视频一区二区三区免费 | 亚洲视频免费播放 | 欧美全黄| 国产精品欧美精品 | 九色 在线 | 亚洲性视频 | 亚洲成人精品久久久 | 人人叉| 天天操天天插天天干 | 中文字幕精品一区 | 午夜精品导航 | 日日夜夜影院 | 日本在线小视频 | 欧美一级大片免费看 | 精区3d动漫一品二品精区 | 亚洲高清视频在线 | 在线观看中文字幕 | 毛片99 | 91精品国产色综合久久不卡蜜臀 | 日本电影免费完整观看 | 在线观看视频91 | 欧美日韩不卡在线 |