el-tabs刷新問題

*問題描述:*遇到一個需求,使用el-tabs裏面引入了4個子組件,在其中某一個子組件刷新的之後,總是tab選中默認的el-tab-pane label,需要變成選中刷新之前的el-tab-pane label

父組件中 tab下面引入了3個組件

<template>
  <el-tabs v-model="activeName" @tab-click="handleClick">
    <el-tab-pane label="子組件1" name="first">
		<child1></child1>
	</el-tab-pane>
    <el-tab-pane label="子組件2" name="first">
		<child1></child1>
	</el-tab-pane>
	<el-tab-pane label="子組件3" name="first">
		<child1></child1>
	</el-tab-pane>
  </el-tabs>
</template>
export default {
    data() {
      return {
        activeName: 'first'
      };
    },
    methods: {
      handleClick(tab, event) {
        console.log(tab, event);
      }
    }
  };

子組件3中,修改完之後,需要進行刷新,這邊是刷新整個父組件(如果是單獨刷新子組件,應該就不會出現我這樣的問題了),但是刷新之後,就會默認選中子組件1,交互不是很好,思路想辦法保存當前的activeName的值,採用sessionStorage
子組件3中修改成功之後

update function(){
	//更新頁面
	//保存當前activeName
	sessionStorage.setItem('currentTab', 'third')
}

然後在父組件的鉤子方法中

mounted() {
        // debugger
        let name = sessionStorage.getItem('currentTab')
        // 這裏如果沒值,返回的是字符串'undefind'
        if (name != "undefined" && name){
          this.activeName = name;
        }
      }

上面問題記錄下,有不正確的,歡迎指正==

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章