【Vue2+Element ui通用后台】面包屑和tag功能
创始人
2024-05-06 09:20:37
0

文章目录

  • 面包屑
  • tag

面包屑

Element ui 面包屑:显示当前页面的路径,快速返回之前的任意页面,完成效果如下:
在这里插入图片描述

我们之前把头部的代码封装到了 CommonHeader.vue 中,面包屑部分直接写死了一个首页,我们可以把官网的面包屑代码先直接复制过来:

首页活动管理活动列表活动详情

之前我们在 store/tab.js 中我们写了头部的是否开关,这里我们增加面包屑的数据。我们点击左侧菜单,面包屑会依次展示菜单内容,所以数据结构和菜单差不多,我们直接复制菜单的数据

export default {state:{isCollapse:false,//控制菜单展开/收起tabList:[{path: '/',name: 'home',label: '首页',icon: 's-home',url: 'Home/home'},]//面包屑数据},mutations:{......}
}

当点击左侧菜单时,面包屑的内容相应修改,所以我们修改 CommonAside.vue ,之前已经有点击菜单的方法,我们修改 menuClick,使用 this.$store.commit 来调用 selectMenu 方法,然后传入点击菜单的数据

menuClick(item) {......this.$store.commit('selectMenu',item)
}

我们在 tab.js 中增加 selectMenu 方法

// 更新面包屑数据selectMenu(state,val){// 判断添加数据是否为首页if(val.name !== 'home'){// 判断如果不存在const index = state.tabList.findIndex(item => item.name === val.name )// 如果不存在if(index === -1){state.tabList.push(val)}}}

由于面包屑默认数据就是首页,所以 selectMenu 方法先判断是不是首页,不是首页再执行下面的代码

然后判断 tabList 中是否存在所点击的菜单数据,如果存在就没有必要重复添加。是否存在可以使用 findIndex,传入一个函数,如果存在则返回一个索引,如果不存在返回 -1

接下来我们在 CommonHeader.vue 中使用面包屑数据,当然我们可以使用this.$store.state.tab.tabList来获取,我们学习一个更简单的方法,使用 mapstate

在这里插入代码片

tags 是我们起的数据别名,后边跟一个函数,返回的就是我们需要的数据,由于返回的是一个对象,我们使用扩展运算符 ...将 mapState 进行结构

然后面包屑内容使用 v-for 循环 tags 即可

{{item.label}}

样式需要进行修改
在这里插入图片描述
修改哪个 class 可以查看元素
在这里插入图片描述

......

tag

Element ui Tag

我们把这个功能封装成组件,在 components 下新建 CommonTag.vue,代码如下:


我们直接复制 Element UI 中的 tag 代码复制过来,因为数据和面包屑的内容是一样的,所以我们可以直接获取 vuex 中的面包屑数据,进行 v-for 循环即可

closable 设置是否可关闭,首页不可关闭,其他都可以

effect 设置主题,如果是当前路由则使用深色主题

因为使用了$route.name === item.name?'dark':'plain' 即路由name 是否和当前 tag name 相同,所以 router / index.js 中需要给路由添加 name 属性

//2、将路由与组件进行映射
const routes = [{//主路由path: '/',component: Main,redirect: '/home',children: [{path: 'home', name: 'home', component: Home},// 主页{path: 'user', name: 'user', component: User},// 用户管理{path: 'mall', name: 'mall', component: Mall},// 商品管理{path: 'page1', name: 'page1', component: PageOne},// 页面1{path: 'page2', name: 'page2', component: PageTwo},// 页面2]}
]

目前的结果:
在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...