解決vue中el-tab-pane切換的問(wèn)題
今天在編寫vue的時(shí)候用到了el-tabs,然后遇到切換的時(shí)候,在次打開el-dialog還是上次的狀態(tài)(因?yàn)閮纱未蜷_的el-tab-pane數(shù)量不一樣,就出現(xiàn)了問(wèn)題)
如下:
第一次打開時(shí)的狀態(tài),打開到第二次的時(shí)候
解決方法
給el-tab-pane命名
<el-tabs type="border-card" v-model="activeName" ></el-tabs>
在script中
data() { return { isShow: '', activeName:'second' } },
在每次關(guān)閉彈框的時(shí)候,在關(guān)閉方法中重置activeName
activeName='second'
補(bǔ)充知識(shí):vue + element-ui 制作tab切換(切換vue組件,踩坑總結(jié))
項(xiàng)目中用到了一個(gè)頁(yè)面要實(shí)現(xiàn)tab切換實(shí)現(xiàn)報(bào)表展示,自行百度了一下;最后實(shí)現(xiàn)效果,在這里把步驟分享給大家!
創(chuàng)建文件:
tabZujian.vue
<template> <div class="tabZujian"> <el-tabs v-model="activeName"> <el-tab-pane label="tab1" name="first" :key="'first'"> <child1></child1> </el-tab-pane> <el-tab-pane label="tab2" name="second" :key="'second'"> <child2></child2> </el-tab-pane> </el-tabs> </div> </template> <script> import tabZujianChild1 from '@/tabComponents/tabZujianChild1' import tabZujianChild2 from '@/tabComponents/tabZujianChild2' export default { name: 'tabZujian', components:{ child1:tabZujianChild1, child2:tabZujianChild2 }, data() { return { //默認(rèn)第一個(gè)選項(xiàng)卡 activeName: "first", } }, mounted(){ } } </script>
tabZujianChild1.vue
<template> <div class="child1"> 我是第一個(gè)自組件 </div> </template> <script> export default { name: 'child1', mounted(){ console.log("tab1組件") } } </script>
tabZujianChild2.vue
<template> <div class="child2"> 我是第二個(gè)子組件 </div> </template> <script> export default { name: 'child1', mounted(){ console.log("tab2組件") } } </script>
問(wèn)題解決:
其實(shí)這個(gè)問(wèn)題解決起來(lái)非常簡(jiǎn)單,我們想要的是每次切換tab都能夠讓對(duì)應(yīng)的tab子組件進(jìn)行重新渲染。
初始化兩個(gè)變量 isChildUpdate1:true,isChildUpdate2:false;
使用v-if控制child1和child2是否渲染。
每次切換tab選項(xiàng)的時(shí)候,觸發(fā)事件。讓當(dāng)前點(diǎn)擊的tab變量設(shè)置位true,讓當(dāng)前組件重新渲染。
這時(shí)候當(dāng)你來(lái)回切換的時(shí)候,通過(guò)v-if判斷是否重新渲染當(dāng)前組件
更改一下tabZujian.vue
<template> <div class="tabZujian"> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="tab1" name="first" :key="'first'"> <child1 v-if="isChildUpdate1"></child1> </el-tab-pane> <el-tab-pane label="tab2" name="second" :key="'second'"> <child2 v-if="isChildUpdate2"></child2> </el-tab-pane> </el-tabs> </div> </template> <script> import tabZujianChild1 from '@/tabComponents/tabZujianChild1' import tabZujianChild2 from '@/tabComponents/tabZujianChild2' export default { name: 'tabZujian', components:{ child1:tabZujianChild1, child2:tabZujianChild2 }, data() { return { //默認(rèn)第一個(gè)選項(xiàng)卡 activeName: "first", isChildUpdate1:true, isChildUpdate2:false } }, mounted(){ }, methods:{ handleClick(tab) { if(tab.name == "first") { this.isChildUpdate1 = true; this.isChildUpdate2 = false; } else if(tab.name == "second") { this.isChildUpdate1 = false; this.isChildUpdate2 = true; } } } } </script>
最后成功了。
以上這篇解決vue中el-tab-pane切換的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 詳解vue2.0 使用動(dòng)態(tài)組件實(shí)現(xiàn) Tab 標(biāo)簽頁(yè)切換效果(vue-cli)
- 詳解使用vue實(shí)現(xiàn)tab 切換操作
- Vue.js組件tabs實(shí)現(xiàn)選項(xiàng)卡切換效果
- 基于Vue實(shí)現(xiàn)tab欄切換內(nèi)容不斷實(shí)時(shí)刷新數(shù)據(jù)功能
- Vue.js組件tab實(shí)現(xiàn)選項(xiàng)卡切換
- vue Tab切換以及緩存頁(yè)面處理的幾種方式
- VUE的tab頁(yè)面切換的四種方法
- vue實(shí)現(xiàn)tab切換的3種方式及切換保持?jǐn)?shù)據(jù)狀態(tài)
- vue實(shí)現(xiàn)tab切換外加樣式切換方法
- vue實(shí)現(xiàn)tab欄切換效果
相關(guān)文章
關(guān)于vue的語(yǔ)法規(guī)則檢測(cè)報(bào)錯(cuò)問(wèn)題的解決
在配置路有的時(shí)候,陸續(xù)出現(xiàn)了各種報(bào)錯(cuò)其中最多的是一些寫法,例如空格,縮進(jìn),各種括號(hào),這篇文章主要介紹了關(guān)于vue的語(yǔ)法規(guī)則檢測(cè)報(bào)錯(cuò)問(wèn)題的解決,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-05-05vue作用域插槽詳解、slot、v-slot、slot-scope
這篇文章主要介紹了vue作用域插槽詳解、slot、v-slot、slot-scope,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Vue進(jìn)階之CodeMirror的應(yīng)用小結(jié)
CodeMirror支持在線編輯代碼,風(fēng)格包括js, java, php, c++等等100多種語(yǔ)言,下面這篇文章主要來(lái)和大家講講CodeMirror的應(yīng)用,感興趣的可以了解一下2023-06-06vue-element-admin后臺(tái)生成動(dòng)態(tài)路由及菜單方法詳解
vue-element-admin后臺(tái)管理系統(tǒng)模板框架 是vue結(jié)合element-ui一體的管理系統(tǒng)框架,下面這篇文章主要給大家介紹了關(guān)于vue-element-admin后臺(tái)生成動(dòng)態(tài)路由及菜單的相關(guān)資料,需要的朋友可以參考下2023-09-09vue圖片加載失敗時(shí)用默認(rèn)圖片替換的方法
這篇文章主要給大家介紹了關(guān)于vue圖片加載失敗時(shí)用默認(rèn)圖片替換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08