国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue + Element-UI下iframe子頁(yè)面彈窗蒙層只能遮罩子頁(yè)面問(wèn)題解決

這篇具有很好參考價(jià)值的文章主要介紹了vue + Element-UI下iframe子頁(yè)面彈窗蒙層只能遮罩子頁(yè)面問(wèn)題解決。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

發(fā)現(xiàn)網(wǎng)絡(luò)上使用element-ui+vue做后臺(tái)頁(yè)面,基本要搭建vue腳手架,最近有個(gè)需求,就是使用element-ui+vue做一套靜態(tài)頁(yè)面,主區(qū)域使用firame,點(diǎn)擊主菜單,可以進(jìn)入子頁(yè)面。

vue + Element-UI下iframe子頁(yè)面彈窗蒙層只能遮罩子頁(yè)面問(wèn)題解決

問(wèn)題出現(xiàn)了,新增、修改、刪除的彈窗,只能在iframe區(qū)域顯示:

vue + Element-UI下iframe子頁(yè)面彈窗蒙層只能遮罩子頁(yè)面問(wèn)題解決

如何解決這個(gè)問(wèn)題呢?果斷各種查資料,希望CV大法可以解決,不過(guò)所有的解決方案都是在vue腳手架里面搭建項(xiàng)目,這又不符合目前的需求。

于是開(kāi)始思考:

1.既然列表頁(yè)可以使用iframe,那新增和修改是不是也可以使用iframe去解決?

2.如果彈窗使用iframe,那怎么才能讓子頁(yè)面喚醒父頁(yè)面的彈窗呢?

3.每個(gè)子頁(yè)面的數(shù)據(jù)不同,那么彈窗的大小也有不同,能否讓每個(gè)頁(yè)面喚起的彈窗大小可以不同呢(事實(shí)證明是可行的,在子頁(yè)面將彈窗寬高傳過(guò)去就可以了)?

想到這里,就開(kāi)始行動(dòng)!

主頁(yè)面彈窗標(biāo)簽:

<!--dislogName:彈窗名稱,可以從子頁(yè)面?zhèn)魅耄热纭靶略霾块T”-->
<!--dialogVisible:彈窗狀態(tài),子頁(yè)面調(diào)用父頁(yè)面方法的時(shí)候,進(jìn)行喚醒-->
<!--:width=big:彈窗寬度,單位百分比,子頁(yè)面直接傳參-->
<el-dialog :title=dislogName :visible.sync="dialogVisible" :width=big :before-close="handleClose">
      <!--:height=height:彈窗高度,單位像素,子頁(yè)面直接傳參-->
      <iframe :src="dialogUrl" width=100% :height=height frameborder="0" id="iframeUpdate"> 
      </iframe>
</el-dialog>

主頁(yè)面vue數(shù)據(jù)及方法(注釋寫的十分清楚了)

<script>
    //這里務(wù)必要有個(gè)名字,將來(lái)子頁(yè)面調(diào)方法需要使用
    var index = new Vue({
        el: '#app', 
        //數(shù)據(jù)部分
        data(){
            return{
                // 新增修改公用彈窗狀態(tài)
                dialogVisible: false,
                //新增修改公用彈窗地址
                dialogUrl: ' ',
                //新增修改公用彈窗名稱
                dislogName: '',
                //新增修改公共彈窗大小,big-寬,height-高
                big: '',
                height: '',
            }
        },
        methods{
                //打開(kāi)新增修改公共彈窗的方法(在子頁(yè)面中調(diào)用)
                dialog(url, name, big, height) {
                    //定義iframe標(biāo)簽位置
                    this.dialogUrl = url
                    //定義彈窗名字
                    this.dislogName = name
                    //定義彈窗寬度
                    this.big = big
                    //定義彈窗高度
                    this.height = height
                    //打開(kāi)彈窗
                    this.dialogVisible = true
                },
        }
    })

</script>

接下來(lái)是子頁(yè)面,從列表頁(yè)面的按鈕綁定方法,直接調(diào)用父頁(yè)面打開(kāi)彈窗的方法:

  1. 這里新增和修改頁(yè)面使用了同一個(gè),新增傳入module為add,修改的話直接傳入id
  2. 有一個(gè)問(wèn)題需要注意,修改頁(yè)面每次需要強(qiáng)行刷新一次,否則回顯數(shù)據(jù)會(huì)出問(wèn)題,總是帶著上次回顯的數(shù)據(jù)提交
  3. 直接使用parent.index.dialog調(diào)用函數(shù)傳參即可
<script>
    new Vue({
        el:"#xxx",
        methods{
            //打開(kāi)新增修改彈窗的方法
            addDislog(module) {
                if (module === "add") {
                    //參數(shù)1:彈窗內(nèi)引用的iframe地址
                    //參數(shù)2:彈窗名字
                    //參數(shù)3:彈窗寬度,根據(jù)頁(yè)面內(nèi)容定義
                    //參數(shù)4:彈窗高度
                    parent.index.dialog('pages/xxxx/add.html', '新增管理員用戶', '40%', '400px');
                    //刷新修改頁(yè)面(避免緩存數(shù)據(jù)導(dǎo)致修改回顯失敗)
                    parent.index.updateReload();
                } else {
                    //參數(shù)1:彈窗內(nèi)引用的iframe地址
                    //參數(shù)2:彈窗名字
                    //參數(shù)3:彈窗寬度,根據(jù)頁(yè)面內(nèi)容定義
                    //參數(shù)4:彈窗高度
                    parent.index.dialog('pages/xxxx/add.html?id=' + module, '編輯管理員用戶', '40%', '400px');
                    //刷新修改頁(yè)面(避免緩存數(shù)據(jù)導(dǎo)致修改回顯失敗)
                    parent.index.updateReload();
                }
            },
        }
    })

</script>

最后上效果圖,大功告成!

vue + Element-UI下iframe子頁(yè)面彈窗蒙層只能遮罩子頁(yè)面問(wèn)題解決文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413628.html

到了這里,關(guān)于vue + Element-UI下iframe子頁(yè)面彈窗蒙層只能遮罩子頁(yè)面問(wèn)題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue2+element-ui后臺(tái)管理系統(tǒng)(靜態(tài)頁(yè)面)

    Vue2+element-ui后臺(tái)管理系統(tǒng)(靜態(tài)頁(yè)面)

    node:https://nodejs.org/en/ git:https://git-scm.com/ vue:https://v2.cn.vuejs.org/v2/guide/installation.html element-ui:https://element.eleme.cn/#/zh-CN/component/installation 項(xiàng)目所需:https://pan.baidu.com/s/1ua0jp9YCtPH6slE49HDUBw 提取碼:kkkk 在node和vue都調(diào)試、配置好的情況下使用vscode 在終端中輸入命令 npm i -g @vue

    2024年02月06日
    瀏覽(43)
  • vue element-ui分頁(yè)插件 始終保持在頁(yè)面底部樣式

    vue element-ui分頁(yè)插件 始終保持在頁(yè)面底部樣式

    最近在寫前端頁(yè)面的時(shí)候,有一個(gè)小需求就是保證分頁(yè)插件一直保持在底部,表單數(shù)據(jù)增多的時(shí)候出現(xiàn)豎向的滾動(dòng)條。 直接上代碼 樣式 效果展示

    2024年02月11日
    瀏覽(20)
  • Vue項(xiàng)目element-ui彈窗組件el-dialog、el-drawer,阻止點(diǎn)擊遮罩層關(guān)閉

    Vue項(xiàng)目element-ui彈窗組件el-dialog、el-drawer,阻止點(diǎn)擊遮罩層關(guān)閉

    效果圖: 我們只需要設(shè)置這兩個(gè) 屬性 append-to-body :close-on-click-modal=“false” 注意 : 這里的close-on-click-modal屬性前需要寫入 :

    2024年02月12日
    瀏覽(33)
  • 菜鳥(niǎo)級(jí):Vue Element-UI 前端 + Flask 后端 的登錄頁(yè)面驗(yàn)證碼

    菜鳥(niǎo)級(jí):Vue Element-UI 前端 + Flask 后端 的登錄頁(yè)面驗(yàn)證碼

    這里記錄登錄頁(yè)面驗(yàn)證碼的做法,采取的是前后端分離的做法,前端用Vue,后端用Flask 首先是GIF效果圖: 后端返回的數(shù)據(jù)結(jié)構(gòu)(base64字符串,response.data.img): ? 1、Vue前端頁(yè)面基本采用Ruoyi Ui里面的登錄頁(yè)面代碼,里面的一些方法進(jìn)行重寫; 首先是單個(gè)vue文件里網(wǎng)頁(yè)內(nèi)容

    2023年04月08日
    瀏覽(36)
  • vue element-ui實(shí)現(xiàn)獲取短信驗(yàn)證碼 ,60秒倒計(jì)時(shí)及頁(yè)面

    vue element-ui實(shí)現(xiàn)獲取短信驗(yàn)證碼 ,60秒倒計(jì)時(shí)及頁(yè)面

    cc廢話不多說(shuō)先上效果圖 ? ?vue頁(yè)面布局 css樣式? 邏輯js

    2024年02月08日
    瀏覽(35)
  • FLASK+VUE--前后端分離(三)- VUE+Element-UI搭建登陸頁(yè)面且能夠正常登陸

    FLASK+VUE--前后端分離(三)- VUE+Element-UI搭建登陸頁(yè)面且能夠正常登陸

    FLASK+VUE–前后端分離(一)- Flask基礎(chǔ)講解之路由、視圖函數(shù)及代碼實(shí)現(xiàn) FLASK+VUE–前后端分離(二)- VUE基礎(chǔ)安裝及項(xiàng)目的簡(jiǎn)易介紹 FLASK+VUE–前后端分離(三)- VUE+Element-UI搭建登陸頁(yè)面且能夠正常登陸 FLASK+VUE–前后端分離(四)- VUE+Element-UI簡(jiǎn)單搭建主頁(yè)布局 FLASK+VUE–前后端

    2023年04月15日
    瀏覽(32)
  • 基于Element-ui 表單彈窗列表選擇封裝

    基于Element-ui 表單彈窗列表選擇封裝

    不知道怎么描述這個(gè)東西了。。el-select下拉框大家都知道,但是下拉框只能選擇一個(gè),而且如果數(shù)據(jù)太多的話也不太容易選擇,所以這里就是封裝了組件包含對(duì)應(yīng)的彈窗,就是能實(shí)現(xiàn)多選,而且列表也是分頁(yè)展示的,選擇完之后將對(duì)應(yīng)的名稱展示在文本框中,傳給后端對(duì)應(yīng)的

    2024年02月11日
    瀏覽(26)
  • element-ui dialog彈窗 設(shè)置點(diǎn)擊空白處不關(guān)閉

    element-ui dialog彈窗 設(shè)置點(diǎn)擊空白處不關(guān)閉

    根據(jù)官網(wǎng)提供方法 場(chǎng)景:vue實(shí)現(xiàn)的網(wǎng)站有兩個(gè)彈窗同時(shí)出現(xiàn)時(shí),關(guān)閉報(bào)警,批量進(jìn)度條彈窗也關(guān)閉了, 1、每一個(gè)頁(yè)面都有可能出現(xiàn)的報(bào)警彈窗, 2、頁(yè)面a批量操控硬件添加操作的進(jìn)度條彈窗 開(kāi)始以為是因?yàn)辄c(diǎn)擊報(bào)警彈窗,相當(dāng)于點(diǎn)擊modal(空白處)所以導(dǎo)致關(guān)閉報(bào)警彈窗的同

    2024年02月09日
    瀏覽(24)
  • Vue 當(dāng)頁(yè)面進(jìn)入全屏狀態(tài)時(shí)element-ui的el-select下拉菜單不顯示問(wèn)題

    Vue 當(dāng)頁(yè)面進(jìn)入全屏狀態(tài)時(shí)element-ui的el-select下拉菜單不顯示問(wèn)題

    在前兩天進(jìn)行頁(yè)面全屏?xí)r,一切都還好好的,可當(dāng)使用element-ui中的el-select時(shí),下拉菜單卻怎么也顯示不出來(lái),但只要退出全屏狀態(tài),立馬就好。 非全屏?xí)r: ?全屏?xí)r: 開(kāi)始我以為是層級(jí)問(wèn)題,所以給el-select的下拉菜單加z-index,卻發(fā)現(xiàn)加到多大都沒(méi)用。 后來(lái)去官方文檔里找

    2024年01月17日
    瀏覽(101)
  • element-ui 彈窗里面嵌套彈窗,解決第二個(gè)彈窗被遮罩層掩蓋無(wú)法顯示的問(wèn)題

    element-ui 彈窗里面嵌套彈窗,解決第二個(gè)彈窗被遮罩層掩蓋無(wú)法顯示的問(wèn)題

    當(dāng)我們?cè)?element-ui 中使用彈窗嵌套彈窗時(shí),會(huì)出現(xiàn)第二個(gè)彈窗打開(kāi)時(shí)被一個(gè)遮罩層擋著,就像下面這樣: 下面提供兩種解決方案 : 一、第一種方案 我們查詢element-ui 官網(wǎng)可以發(fā)現(xiàn) el-dialog 有這樣幾個(gè)屬性: ?具體使用就是在第一個(gè)彈窗中設(shè)置 :modal-append-to-body=\\\"false\\\"? 和 :ap

    2024年02月11日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包