vue+element tabs选项卡分页效果

时间:2021-05-26

本文实例为大家分享了vue+element tabs选项卡分页效果的具体代码,供大家参考,具体内容如下

文件目录:

功能展示:

路由配置:

{ path: '/account', component: ()=> import('../components/home/home.vue'), //布局页面 redirect: '/account/all-account/list', //定向到list路径 name: '账号管理', children: [ { path: '/account/all-account/list', redirect: '/account/all-account/staff', //定向到staff路径 name: '员工管理', component: () => import('../components/view/account/index.vue'), children: [ { path: '/account/all-account/staff', component: () => import('../components/view/account/account.vue'), hidden: true }, { path: '/account/all-account/agent', name: '代理人账号', component: () => import('../components/view/account/agent.vue'), hidden: true }, { path: '/account/all-account/department', name: '部门设置', component: () => import('../components/view/account/department.vue'), hidden: true }, { path: '/account/all-account/role', name: '角色权限设置', component: () => import('../components/view/account/role.vue'), hidden: true }, { path: '/account/all-account/city', name: '城市管理', component: () => import('../components/view/account/city.vue'), hidden: true }, ] },}

组件代码:

index.vue

<template> <div class="page_container" style="overflow:auto;height:100%;background: #ffffff;padding: 10px;min-width:1200px;"> <router-view /> </div></template>

account.vue

<template><!-- 账号管理tab分页 --> <div id="employeeCareMng" class="page_container" style="overflow:auto;height:100%;background: #ffffff;min-width:1200px;"> <div v-if="isNative" > <div style="height:100%;"> <el-tabs v-model="activeName" style="height:100%;" @tab-click="handleClick"> <el-tab-pane label="员工账号" name="first" style="height:100%;"> <staff/> </el-tab-pane> <el-tab-pane label="代理人账号" name="second" style="height:100%;"> <agent/> </el-tab-pane> <el-tab-pane label="部门设置" name="third" style="height:100%;"> <department/> </el-tab-pane> <el-tab-pane label="角色权限设置" name="fourth" style="height:100%;"> <role/> </el-tab-pane> <el-tab-pane label="城市管理" name="fifth" style="height:100%;"> <city/> </el-tab-pane> </el-tabs> </div> </div> <div v-else style="height:100%;"> <router-view /> </div> </div></template><script>import staff from './staff'import agent from './agent'import department from './department'import role from './role'import city from './city' export default { components: { staff,agent,department,role,city }, data() { return { isNative: true, activeName: 'first' //默认先渲染第一个 } }, //页面初始默认是第一个板块展示 created() { if (this.$route.path === '/account/all-account/staff') { this.isNative = true } else { this.isNative = false } }, methods: { handleClick(tab, event) { console.log(tab, event) } }}</script><style scoped>.page_container{ background: #ffffff; height: 100%;}</style><style >#employeeCareMng .el-tabs__content { height:calc(100% - 55px);}</style>

其他tabs分页的组件:

staff.vue 其他类似

<template> <div class="staff"> 员工账号 </div></template> <script>export default { name:"staff", data(){ return { } }, created(){ }, methods: { }, };</script> <style scoped>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章