VUE实现TAB切换不同页面
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue

·
VUE实现TAB切换不同页面
实现效果
资源准备
ReceiveOrderList,
TodoListMulti,
SignList
这三个页面就是需要切换的页面
首页代码
<template>
<div>
<el-tabs v-model="activeTab" type="card" @tab-click="handleTabClick">
<el-tab-pane name="ReceiveOrderList">
<span slot="label"> <i class="el-icon-date"></i> <el-badge :value="9999" :max="99" class="item">待接单</el-badge></span>
</el-tab-pane>
<el-tab-pane name="TodoListMulti">
<span slot="label"> <i class="el-icon-truck"></i> <el-badge :value="31" :max="99" class="item">待发货</el-badge></span>
</el-tab-pane>
<el-tab-pane name="SignList">
<span slot="label"> <i class="el-icon-edit-outline"></i> <el-badge :value="21" :max="99" class="item">待签收</el-badge></span>
</el-tab-pane>
</el-tabs>
<keep-alive>
<component :is="activeTabComponent"></component>
</keep-alive>
</div>
</template>
<script>
import ReceiveOrderList from '@/views/orderCenter/receiveOrderList'
import TodoListMulti from '@/views/dispatch/todoListMulti'
import SignList from '@/views/dispatch/signList'
export default {
data() {
return {
activeTab: 'ReceiveOrderList',
componentMap: {
ReceiveOrderList: ReceiveOrderList,
TodoListMulti: TodoListMulti,
SignList: SignList
}
}
},
computed: {
activeTabComponent() {
return this.componentMap[this.activeTab]
}
},
methods: {
handleTabClick(tab) {
this.activeTab = tab.name
}
}
}
</script>
如果不考虑勋章的话,可以把代码删除掉;
这样就可以实现一个切换不同tab显示不同页面的效果:类似与在iframe中动态变化内容;
此方法的优点就是避免不同页面相同变量引发的混乱,如果是对已有的页面进行整合效果更好!




vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:1 天前 )
9e887079
[skip ci] 10 个月前
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
更多推荐
所有评论(0)