element UI 导航栏根据路径来确定默认选中
<template>
<el-menu :default-active="activedMenu($route.path)" class="el-menu-vertical-demo padding-top-10" @open="handleopen" @close="handleclose" @select="handleselect"
unique-opened router>
<template v-for="(item,index) in navData" :index="index+''" v-if="item.role">
<el-submenu :index="index+''" v-if="item.panels.length > 0">
<template slot="title"><i :class="item.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{item.name}}</template>
<el-menu-item-group v-for="panels in item.panels" :index="panels.name" :key="panels.name" v-if="panels.role">
<el-menu-item v-if="panels.menu.length == 0" :index="panels.url" ><i :class="panels.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{panels.name}}</el-menu-item>
<el-submenu v-else :index="panels.name">
<template slot="title"><i :class="panels.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{panels.name}}</template>
<el-menu-item v-for="menu in panels.menu" :index="menu.url" :key="menu.url" v-if="menu.limit">
<i class="nav-radius"></i>{{ menu.name }}
</el-menu-item>
</el-submenu>
</el-menu-item-group>
</el-submenu>
<el-menu-item v-else :index="item.url"><i :class="item.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{item.name}}</el-menu-item>
</template>
</el-menu> </template>
el-submenu或者el-menu-item的index设置成路由对应的字符串,也是根据路由选择左侧导航栏,但是路由可能有不固定的参数,那就根据固定的参数来判断选择哪一项:
activedMenu: function (val) {
if (val.indexOf('/project') == 0) {
return '/project/'
} else if (val.indexOf('/alarm') == 0) {
return '/alarm/'
} else if (val.indexOf('/backup') == 0) {
return '/backup/'
} else if (val.indexOf('/sites_monitor') == 0) {
return '/sites_monitor/'
} else if (val.indexOf('/security_group') == 0) {
return '/security_group/'
} else if (val.indexOf('/lbaas') == 0) {
return '/lbaas/'
} else if (val.indexOf('/rule') == 0) {
if (val.indexOf('/user') > -1) {
return '/user/'
} else {
return '/user_group/'
}
} else if (val.indexOf('/create_page') == 0) {
if (val.indexOf('/instance') > -1) {
return '/instances/'
} else if (val.indexOf('/images') > -1){
return '/image/'
} else if (val.indexOf('/snapshot') > -1){
return '/snapshot/'
} else if (val.indexOf('/profile') > -1){
return '/ess_profile/'
}
} else if (val.indexOf('/monitor_detail') == 0) {
if (val.indexOf('/instances') > -1) {
return '/instances/'
} else {
return '/hypervisors/'
}
} else {
return val
}
},
element UI 导航栏根据路径来确定默认选中的更多相关文章
- elementUI的导航栏在刷新页面的时候选中状态消失的解决
首先elementUI的导航栏中的选中项的高亮显示时的字体颜色可以在属性中设置,但是高亮时的背景颜色不能设置,所以要自己修改高亮的背景颜色 .el-menu-item.is-active { back ...
- vue element ui 导航刷新 is-active
<el-menu :default-active="$route.path" router mode="horizontal"> <el-me ...
- vue Element UI 导航高亮
1. activeIndex 为默认高亮值,根据改变activeIndex的值来改变高亮的值 当页面改变的时候获取当前的路由地址,截取第一个 / 后面的值,就是当前的高亮值了 为什么要截取呢? 因为点 ...
- 饿了么element UI<el-dialog>弹出层</el-dialog>修改默认样式不能在<style scoped>修改
如果在非scoped下,修改el-dialog自动添加的DIV类名的style加上important,可以覆盖原来的width,但这样会让整个项目的样式都乱套. 如果在scoped下修改style.所 ...
- Element ui 中使用table组件实现分页记忆选中
我们再用vue和element-ui,或者其他的表格的时候,可能需要能记忆翻页勾选,那么实现以下几个方法就ok了 示例如下 <el-table :data="tableData&quo ...
- element ui 中的时间选择器怎么设置默认值/el-date-picker区间选择器怎么这是默认值
template代码 <el-date-picker value-format="yyyy-MM-dd" v-model="search.date" ty ...
- Nuxt内导航栏的两种实现方式
方式一 | 通过嵌套路由实现 在pages页面根据nuxt的路由规则,建立页面 1. 创建文件目录及文件 根据规则,如果要创建子路由,子路由的文件夹名字,必须和父路由名字相同 所以,我们的文件夹也为i ...
- UIViewController的View显示在导航栏下面如何解决?
ios7之前的版本中UIViewController中的view在显示后会自动调整为去掉导航栏的高度的,控件会自动在导航栏以下摆放. 在iOS7中UIViewController的wantsFullS ...
- android -------- 沉浸式状态栏和沉浸式导航栏(ImmersionBar)
android 4.4以上沉浸式状态栏和沉浸式导航栏管理,包括状态栏字体颜色,适用于Activity.Fragment.DialogFragment.Dialog,并且适配刘海屏,适配软键盘弹出等问题 ...
随机推荐
- elasticsearch日志删除命令
通过curl发送DELETE命令给elasticsearch服务器,进行日志删除操作.命令示例如下: curl -XDELETE *' curl -XDELETE 'http://192.168.10 ...
- sqlserver修改主键为自增
使用PowerDesigner创建一张表, 拷贝建表语句发现ID不是自增的, 以下是修改语句: ALTER TABLE USER_JOB_EXE_REC DROP COLUMN id; , ); 注: ...
- producter-consumer 他山之石
#include <pthread.h> #include <list> using namespace std; template <typename T> cl ...
- 【SqlServer】SqlServer中的更新锁(UPDLOCK)
UPDLOCK.UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改.当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加 ...
- cocos2d-x中的坑
1. 设置opacity=0, 子结点不受到影响. FadeOut 也不起作用. 查看代码可以找到一个 cascadeOpacityEnabled 的参数, 默认是关闭的. 打开就可以了. 2. Ta ...
- Socket网络编程--网络爬虫(2)
上一小节,我们实现了下载一个网页.接下来的一步就是使用提取有用的信息.如何提取呢?一个比较好用和常见的方法就是使用正则表达式来提取的.想一想我们要做个什么样的网络爬虫好呢?我记得以前好像博客园里面有人 ...
- Series 入门(创建和增删改查)
Series 是pandas两大数据结构中(DataFrame,Series)的一种.使用pandas 前需要将pandas 模块引入,因为Series和DataFrame用的次数非常多,所以将其引入 ...
- iOS应用开发,全局强制竖屏,部分页面允许旋转的处理
目前大多数app都不支持横屏模式,用户不常用,开发起来也麻烦一些.但有些时候,又离不开横屏和竖屏的切换,比如查看视频.图片.文档等,这时又不得不对页面做横屏的处理.下面来教大家如何处理这种场景,方法可 ...
- CentOs 6.x 升级 Python 版本【转】
在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服 ...
- ecshop首页调用团购信息产品购买人数
当我们在ecshop后台录入ecshop的团购信息之后,我们在ecshop的前台首页index.php里面,可以看到他能调用ecshop的团购商品信息,其中就包括团购商品的一些价格信息.但是如何在ec ...