午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

解決vue中el-tab-pane切換的問題

瀏覽:19日期:2023-01-03 15:18:44

今天在編寫vue的時(shí)候用到了el-tabs,然后遇到切換的時(shí)候,在次打開el-dialog還是上次的狀態(tài)(因?yàn)閮纱未蜷_的el-tab-pane數(shù)量不一樣,就出現(xiàn)了問題)

如下:

解決vue中el-tab-pane切換的問題

第一次打開時(shí)的狀態(tài),打開到第二次的時(shí)候

解決vue中el-tab-pane切換的問題

解決方法

給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è)頁面要實(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>

解決vue中el-tab-pane切換的問題

問題解決:

其實(shí)這個(gè)問題解決起來非常簡單,我們想要的是每次切換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)你來回切換的時(shí)候,通過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切換的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 99久久久久成人国产免费 | 国产精品理论在线 | av亚洲精品 | 亚洲性夜| 久久久久久久久综合 | 国产永久免费观看 | 亚洲一二三视频 | 日本国产高清 | 国产剧情自拍 | 久久久久免费看 | 青青草在线观看视频 | 国产成人亚洲综合a∨婷婷 青草久久久 | 三级国产在线观看 | 中文字幕五月 | 五月综合激情 | 欧美日韩不卡在线 | 超碰97人人在线 | 日韩欧美中文字幕视频 | 人人草在线观看 | 亚洲一区二区三区四区视频 | 免费在线观看你懂的 | 污小说男男| 国产精品日韩一区二区 | 51精产品一区一区三区 | 成人碰碰| 欧美激情一区二区三级高清视频 | 在线你懂得 | av无限看 | 国产黄色免费 | 中文字幕影音先锋 | 国产成人精品久久二区二区 | 国产玖玖 | 欧美图片一区二区 | 午夜免费福利在线观看 | 欧美成人精品激情在线观看 | 久久福利视频导航 | 欧美一卡二卡在线观看 | 久久婷婷丁香 | 日本成人精品视频 | 美女国产视频 | 亚洲午夜小视频 |