本文是为了记录曾经踩过的坑,愿以后的日子里不再踩坑
大家在用element-ui的tab切换时,可能会遇到这样的问题,就是比如我在标签页2新增了东西,要刷新页面,但是刷新后回到标签页1,这样又要点回去,就很麻烦,我遇到时是用下面的方法解决的,可能会很low,毕竟我还是个vue小白,如果哪个大神有更好的解决方法,请不吝赐教,感激不尽~
思路是这样的:
实现:
export default {
data() {
return {
//activeName 是默认选中的tab,如果不写则会展示空白页面
//这里默认展示第一个tab
activeName: 'aaa'
};
},
//组件
components: {
aaaTab,
bbbTab,
cccTab
},
mounted() {
//挂载时通过location.search拿到url后的部分
this.updateType();
},
methods: {
updateType() {
let type = location.search;
//通过拿到的值不同,更改activeName的值
if(type === '?type=1') {
this.activeName = 'aaa';
}else if(type === '?type=2') {
this.activeName = 'bbb';
}else if(type === '?type=3') {
this.activeName = 'ccc';
}
},
// 切换tab时再根据标签名的不同将url中的参数值改掉
handleClick(tab) {
let queryType;
if(tab.name == 'aaa') {
queryType = 1;
}else if(tab.name == 'bbb') {
queryType = 2;
}else if(tab.name == 'ccc') {
queryType = 3;
}
//将新的值和url放在一起拼成一个完整的路径
this.$router.push({
path: '/qqqqq/wwwww/page.do',
query: {
type: queryType || 1
}
});
}
}
};
初始的时候由于没有参数值也没有点击切换,所以刷新的时候自然是展示第一个tab,所以也不用担心这个问题啦~
由于小白一枚,所以急需大神指点~