vue實(shí)現(xiàn)彈出框內(nèi)嵌頁(yè)面展示并添加tab切換展示實(shí)時(shí)加載
最近做業(yè)務(wù)的時(shí)候,發(fā)現(xiàn)產(chǎn)品的原型圖上有一個(gè)彈出框,上面包含了兩個(gè)窗口要進(jìn)行切換。

每個(gè)窗口都有分頁(yè)列表展示、搜索、添加和刪除,感覺(jué)就是兩個(gè)完整的頁(yè)面,如果全寫在一個(gè)頁(yè)面會(huì)很麻煩,還可能會(huì)出現(xiàn)一系列的問(wèn)題,后期改起來(lái)比較麻煩,所以我就準(zhǔn)備分開(kāi)來(lái)寫這個(gè)窗口,先寫兩個(gè)頁(yè)面,最后看能不能嵌入到彈出框里。
這里插入一下vue的頁(yè)面跳轉(zhuǎn)方法,點(diǎn)擊按鈕直接跳轉(zhuǎn)到另一個(gè)頁(yè)面,這樣可以先調(diào)整單個(gè)頁(yè)面的樣式和功能。
<el-table-column label="字典類型" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type">
<span>{{ scope.row.dictType }}</span>
</router-link>
</template>
</el-table-column>
參數(shù)獲取:
created() {
const dictId = this.$route.params && this.$route.params.dictId;
this.getType(dictId);
this.getTypeList();
},
而且這塊跳轉(zhuǎn)的頁(yè)面也是需要配置路由的,要不然頁(yè)面就會(huì)404:
{
path: '/system/dict-data',
component: Layout,
hidden: true,
permissions: ['system:dict:list'],
children: [
{
path: 'index/:dictId(\\d+)',
component: () => import('@/views/system/dict/data'),
name: 'Data',
meta: { title: '字典數(shù)據(jù)', activeMenu: '/system/dict' }
}
]
},
當(dāng)兩個(gè)頁(yè)面的功能都實(shí)現(xiàn)好了之后,開(kāi)始在主頁(yè)面添加彈出框,實(shí)現(xiàn)內(nèi)嵌頁(yè)面。

- 屬性變量props: [‘agentId’],該參數(shù)用于父子組件傳值
- 組件創(chuàng)建即created的時(shí)候,賦值請(qǐng)求后臺(tái)加載數(shù)據(jù)
在父頁(yè)面中引入子頁(yè)面:

添加彈出框,內(nèi)嵌子頁(yè)面
<el-dialog :title="filterTitle" :visible.sync="filterDialogVisible" v-if="filterDialogVisible" width="1100px"
append-to-body>
<el-tabs v-model="filterTabValue" type="border-card" :lazy="true" @tab-click="filterTabClick">
<el-tab-pane label="內(nèi)容1" name="hotel">
<!-- 酒店過(guò)濾頁(yè)面 -->
<HotelFilter :agentId="agentId" v-if="isHotel"></HotelFilter>
</el-tab-pane>
<el-tab-pane label="內(nèi)容2" name="keyword">
<Keyword :agentId="agentId" v-if="isKeyword"></Keyword>
</el-tab-pane>
</el-tabs>
</el-dialog>
父頁(yè)面通過(guò)彈框并將子頁(yè)面通過(guò)引入組件的方式包裹在彈框內(nèi),通過(guò):visible.sync=“filterDialogVisible” v-if="filterDialogVisible"進(jìn)行彈框的展示以及組件的創(chuàng)建和銷毀,并且通過(guò)父子組件傳參的方式切換數(shù)據(jù)。注意這里需要使用v-if以便子組件可以在create()中動(dòng)態(tài)展示數(shù)據(jù)。
同理,tabs切換也是通過(guò)v-if來(lái)控制動(dòng)態(tài)渲染頁(yè)面。
//設(shè)置頁(yè)面
filterRuleAdd(row) {
this.agentId = row.agentId;
this.filterDialogVisible = true;
this.filterTitle = "渠道名稱:" + row.agentName;
this.filterTabValue = "hotel";
this.isHotel = true;
},
//禁用配置切換
filterTabClick() {
if (this.filterTabValue == "hotel") {
this.isHotel = true;
this.isKeyword = false;
} else if (this.filterTabValue == "keyword") {
this.isKeyword = true;
this.isHotel = false;
}
},
參考文檔:http://m.fzitv.net/article/267510.htm
總結(jié)
到此這篇關(guān)于vue實(shí)現(xiàn)彈出框內(nèi)嵌頁(yè)面展示并添加tab切換展示實(shí)時(shí)加載的文章就介紹到這了,更多相關(guān)vue彈出框添加tab切換實(shí)時(shí)加載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決vue項(xiàng)目中出現(xiàn)Invalid Host header的問(wèn)題
這篇文章主要介紹了解決vue項(xiàng)目中出現(xiàn)"Invalid Host header"的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
vue 父組件給子組件傳值子組件給父組件傳值的實(shí)例代碼
這篇文章主要介紹了vue 父組件給子組件傳值,子組件給父組件傳值,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
安裝@vue/cli 報(bào)錯(cuò)npm WARN deprecated request
這篇文章主要介紹了安裝@vue/cli 報(bào)錯(cuò)npm WARN deprecated request@2.88.2問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
vue如何使用el-table遍歷循環(huán)表頭和表體數(shù)據(jù)
這篇文章主要介紹了vue如何使用el-table遍歷循環(huán)表頭和表體數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
Vue.js 多項(xiàng)目同端口部署實(shí)戰(zhàn)指南(上下文路徑配置指南)
上下文路徑是指 Web應(yīng)用在服務(wù)器上的部署路徑前綴,通過(guò)設(shè)置不同的上下文路徑,多個(gè)應(yīng)用可以共享同一個(gè)IP和端口,通過(guò)URL路徑來(lái)區(qū)分,本文將從前端Vue.js配置到后端服務(wù)器部署,詳細(xì)介紹完整的實(shí)現(xiàn)方案,感興趣的朋友跟隨小編一起看看吧2026-02-02
為vue-router懶加載時(shí)下載js的過(guò)程中添加loading提示避免無(wú)響應(yīng)問(wèn)題
這篇文章主要介紹了為vue-router懶加載時(shí)下載js的過(guò)程中添加loading提示避免無(wú)響應(yīng)問(wèn)題,需要的朋友可以參考下2018-04-04
vue3引入highlight.js進(jìn)行代碼高亮的方法實(shí)例
最近忙著開(kāi)發(fā)自己的開(kāi)發(fā)腳手架,在做代碼生成器的時(shí)候,有個(gè)預(yù)覽功能,需要讓代碼高亮,下面這篇文章主要給大家介紹了關(guān)于vue3引入highlight.js進(jìn)行代碼高亮的相關(guān)資料,需要的朋友可以參考下2022-04-04
vue3中form對(duì)象無(wú)法賦值的問(wèn)題解決
這篇文章給大家介紹了vue3中form對(duì)象無(wú)法賦值的問(wèn)題解決,有時(shí)候?qū)ο蟮闹邓阑钯x不上值,這時(shí)候可以看下賦值的對(duì)象變量名是否和頁(yè)面組件中的ref相同,文中給出了代碼示例供大家參考,需要的朋友可以參考下2024-01-01

