[element UI]記錄一個(gè)“el-table里的el-dialog重疊問(wèn)題”的解決

這里記錄一個(gè)作為前端初學(xué)者使用vue+elementUI遇到的問(wèn)題(犯的錯(cuò)誤)。
在項(xiàng)目里身弊,用一張表來(lái)展示所有的編譯記錄以清,每個(gè)文件的編譯結(jié)果為一條記錄叠必。需要實(shí)現(xiàn)點(diǎn)擊展示項(xiàng)目編譯結(jié)果,如圖,當(dāng)點(diǎn)擊log的時(shí)候失尖,會(huì)彈出響應(yīng)的log內(nèi)容啊奄。


image.png

image.png

問(wèn)題的重現(xiàn),運(yùn)行2個(gè)(或者多個(gè))文件,然后點(diǎn)擊log會(huì)發(fā)現(xiàn)出現(xiàn)彈出框重疊的現(xiàn)象掀潮。仔細(xì)看會(huì)發(fā)現(xiàn)上層dialog即當(dāng)前真正點(diǎn)擊的log的結(jié)果菇夸,底層的dialog是別的行的log, 按下F12查看頁(yè)面html source可以發(fā)現(xiàn)html同時(shí)渲染了n個(gè)(n=table length) dialog,只是z-index不同仪吧,分析代碼發(fā)現(xiàn)其實(shí)錯(cuò)誤很淺顯庄新,即我用一個(gè)全局變量來(lái)控制dialog的顯示,而且dialog標(biāo)簽被嵌套在el-table里邑商,因此table有幾行就有幾個(gè)dialog,而且通過(guò)同一個(gè)變量來(lái)控制摄咆,那當(dāng)然出問(wèn)題:


image.png

記錄下這個(gè)問(wèn)題的解決辦法:

  1. 把<el-dialog>移出<el-table>,還是用一個(gè)全局變量來(lái)控制dialog的顯示人断。 即全局只有一個(gè)el-dialog吭从,適用于我這個(gè)項(xiàng)目的場(chǎng)景:一個(gè)時(shí)間只要顯示一個(gè)log dialog。但不適用于你的項(xiàng)目本來(lái)就是要同時(shí)顯示多個(gè)el-dialog.

2.table里每行都有dialog, table數(shù)據(jù)每一行都有個(gè)變量用于控制每行的dialog的顯示恶迈。但是要注意vue的響應(yīng)式數(shù)據(jù)更新機(jī)制涩金,這個(gè)變量必須要在table數(shù)據(jù)聲明的時(shí)候就一起聲明。比如我必須在填塞table數(shù)據(jù)的時(shí)候就把這個(gè)變量寫出來(lái), 從而在點(diǎn)擊log標(biāo)題的click事件中去操作這個(gè)變量的true/false;
ts

 this.inputs.push({
            files: this.form.files,
            whList: this.form.whList,
            whString: whString,
            fileList: fileList,
            dialogVisible: false
        });

vue

<el-table>
...
<el-table-column prop="log" label="log" width="250px">
<template v-slot="scope">
                            <el-button type="text" @click="onPopupRunLog(scope.row)">{{scope.row.fullDisplayName}}
                            </el-button>
                            <el-dialog close-on-press-escape
                                    title="Build Log"
                                    :visible.sync="scope.row.dialogVisible" width="80%">
                                <pre>{{scope.row.log}}</pre>
                            </el-dialog>
                        </template>
</el-table-column>
</el-table>
  1. 把2中vue的這串抽成一個(gè)component.所有的參數(shù)傳入這個(gè)組件也能完美解決這個(gè)問(wèn)題暇仲。實(shí)踐發(fā)現(xiàn)這種方法最為優(yōu)秀步做。
<template>
<div>
    <el-button style="padding:0px;font-size: 10px" type="text" @click="popupBuildLog()"
               :loading="loading" element-loading-text=""
               element-loading-spinner="el-icon-loading"
               element-loading-background="#c4d1d2ba" >
        {{buttonContent}}
    </el-button>
    <div style="display:inline-block; margin-top:4px" v-if="!stillBuilding && buildResult !== 'PENDING'">
        <span style="color:#afa7a7e6;margin-left:8px">{{startedAgoTime}}</span>
    </div>
    <el-dialog class="log-dialog" title="Build Log"
               :visible.sync="dialogShow"
               width="80%" append-to-body>
        <pre>{{log}}</pre>
    </el-dialog>
</div>
</template>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市奈附,隨后出現(xiàn)的幾起案子全度,更是在濱河造成了極大的恐慌,老刑警劉巖斥滤,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件将鸵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡佑颇,警方通過(guò)查閱死者的電腦和手機(jī)顶掉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)挑胸,“玉大人痒筒,你說(shuō)我怎么就攤上這事。” “怎么了簿透?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵移袍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我萎战,道長(zhǎng)咐容,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任蚂维,我火速辦了婚禮戳粒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘虫啥。我一直安慰自己蔚约,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布涂籽。 她就那樣靜靜地躺著苹祟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪评雌。 梳的紋絲不亂的頭發(fā)上树枫,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音景东,去河邊找鬼砂轻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛斤吐,可吹牛的內(nèi)容都是我干的搔涝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼和措,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼庄呈!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起派阱,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤诬留,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后贫母,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體故响,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年颁独,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伪冰。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡誓酒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情靠柑,我是刑警寧澤寨辩,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站歼冰,受9級(jí)特大地震影響靡狞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜隔嫡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一甸怕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腮恩,春花似錦梢杭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至荡含,卻和暖如春咒唆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背释液。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工全释, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人均澳。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓恨溜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親找前。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糟袁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344