elementUI 的 navmenu 怎么在 v-for 中 循环不同的标签?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elementUI 的 navmenu 怎么在 v-for 中 循环不同的标签?相关的知识,希望对你有一定的参考价值。
el-menu这个组件有下级子菜单的标签是el-submenu;单菜单的标签是el-menu-item;怎么用一个数据数组循环出不同的标签呢?
路由跳转(一)组件(NavMenu.vue)调用(app.vue)路由跳转(二)水平效果图区别问题1 刷新页面2 非最后一层,点击可跳转路由3 水平菜单点击多路由时,有轮廓vue elementui navmenu 多级导航菜单
路由跳转(一)
el-menu标签中的router
参数说明类型可选值默认值router是否使用 vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转boolean—false
<el-menu router>
组件(NavMenu.vue) 中的路由跳转,:index="navMenu.entity.name"
:default-active="activeIndex"中的activeIndex默认值也要是.entity.name的值
此时菜单数据中的value 没有用到,可以删除。

注意路由变化
组件(NavMenu.vue)
<template> <div class="navMenu"> <template v-for="navMenu in navMenus"> <!-- 最后一级菜单 --> <el-menu-item v-if="!navMenu.childs&&navMenu.entity" :key="navMenu.entity.id" :data="navMenu" :index="navMenu.entity.name" > <i :class="navMenu.entity.icon"></i> <span slot="title">navMenu.entity.alias</span> </el-menu-item> <!-- 此菜单下还有子菜单 --> <el-submenu v-if="navMenu.childs&&navMenu.entity" :key="navMenu.entity.id" :data="navMenu" :index="navMenu.entity.name"> <template slot="title"> <i :class="navMenu.entity.icon"></i> <s 参考技术A <template v-for="item in folder_nodes">
<el-submenu v-if="item.children"></el-submenu>
<el-menu-item v-else></el-menu-item>
</template>
element-ui 之 NavMenu 的使用
NavMenu
安装配置
npm install element-ui -S
全局引入// main.js import ElementUI from \'element-ui\'; import \'element-ui/lib/theme-chalk/index.css\'; Vue.use(ElementUI)
NavMenu 导航的使用
// src/components/NavMenu
<el-col :span="24">
<el-menu
default-active="2"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
router
unique-opened
>
<el-submenu index="1">
<template slot="title">
<i class="el-icon-location"></i>
<span>导航一</span>
</template>
<el-menu-item-group>
<template slot="title">分组一</template>
<el-menu-item index="1-1">选项1</el-menu-item>
<el-menu-item index="1-2">选项2</el-menu-item>
</el-menu-item-group>
<el-menu-item-group title="分组2">
<el-menu-item index="1-3">选项3</el-menu-item>
</el-menu-item-group>
<el-submenu index="1-4">
<template slot="title">选项4</template>
<el-menu-item index="1-4-1">选项1</el-menu-item>
</el-submenu>
</el-submenu>
<el-menu-item index="2">
<i class="el-icon-menu"></i>
<span slot="title">导航二</span>
</el-menu-item>
<el-menu-item index="3" disabled>
<i class="el-icon-document"></i>
<span slot="title">导航三</span>
</el-menu-item>
<el-menu-item index="4">
<i class="el-icon-setting"></i>
<span slot="title">导航四</span>
</el-menu-item>
</el-menu>
</el-col>
以上是NavMenu
默认的配置, 我们直接拷贝下来使用即可.后续要添加路由跳转需要配置一些东西, 比如: router
和 unique-opened
。
// route/index.js
{
// 默认展示的页面
path: \'/\',
component: ()=> import(\'@/views/Home.vue\'),
// 要在该组件中跳转并显示对应内容需把组件存在该子路由下
children: [
{
// 这里的 path 和上面 NavMenu 组件中的 index 保持一致
path: \'1\',
component: () => import(\'@/views/A.vue\')
}
]
}
完成以上步骤即可实现后台管理的点击后,main 页面的内容跳转(不完整, 后续会继续完善)
以上是关于elementUI 的 navmenu 怎么在 v-for 中 循环不同的标签?的主要内容,如果未能解决你的问题,请参考以下文章