element-plus的el-meun怎么用route
时间: 2024-03-07 08:47:44 浏览: 23
要在 element-plus 的 el-menu 中使用路由,需要使用 Vue Router 的 router-link 组件来定义菜单项的链接。具体实现步骤如下:
1. 在 Vue Router 的路由配置中,为每个路由定义一个唯一的 name 属性,例如:
```
{
path: '/home',
name: 'home',
component: Home
}
```
2. 在 el-menu 中使用 router-link 组件,将 to 属性设置为路由的 name 值,例如:
```
<el-menu>
<router-link :to="{ name: 'home' }">Home</router-link>
</el-menu>
```
这样,点击菜单项时就会自动跳转到对应的路由页面。同时,当路由发生变化时,el-menu 也会自动高亮显示当前路由对应的菜单项。
相关问题
el-dropdown-meun点外面不关闭
要实现点击外部区域时不关闭el-dropdown-menu,您可以通过自定义指令来实现这个功能。下面是一个示例代码:
```vue
<template>
<div ref="dropdown" v-click-outside="handleClickOutside">
<el-dropdown>
<span class="el-dropdown-link">
下拉菜单<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>菜单项1</el-dropdown-item>
<el-dropdown-item>菜单项2</el-dropdown-item>
<el-dropdown-item>菜单项3</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script>
export default {
directives: {
'click-outside': {
bind: function (el, binding, vnode) {
el.clickOutsideEvent = function (event) {
if (!(el === event.target || el.contains(event.target))) {
binding.value(event);
}
};
document.body.addEventListener('click', el.clickOutsideEvent);
},
unbind: function (el) {
document.body.removeEventListener('click', el.clickOutsideEvent);
}
}
},
methods: {
handleClickOutside: function () {
// 处理点击外部区域的逻辑
}
}
}
</script>
```
在上面的代码中,我们使用了自定义指令`v-click-outside`来监听点击事件,并在点击事件发生时判断是否点击在了菜单外部。如果是,则执行`handleClickOutside`方法,您可以在这个方法中处理点击外部区域的逻辑,比如不关闭菜单。
#define _CRT_SECURE_NO_WARNINGS 1 #include "Management.h" //选择菜单 void one_meun(void) { printf("******** 文章编辑系统子菜单 *******\n"); printf("***********************************\n"); printf("********** 1.添加文章 **********\n"); printf("********** 2.删除文章 **********\n"); printf("********** 3.查询文章 **********\n"); printf("********** 4.修改文章 **********\n"); printf("********** 5.显示文章 **********\n"); printf("*********** 0.退出登录 **********\n"); printf("***********************************\n"); } //登录成功之后进入系统 void Enter(user* pc, int i) { assert(pc); int input = 0; do { one_meun();//选择菜单 printf("请选择 -> "); scanf("%d", &input); switch (input) { case 1: add_article(&ar);//添加文章 break; case 2: del_article(&ar);//删除文章 break; case 3: sel_article(&ar);//查询文章 break; case 4: modify_article(&ar);//修改文章 break; case 5: display_article(&ar);//显示文章 break; case 0: //退出登录 printf("退出登录成功\n"); break; default: printf("选择无效,重新选择\n"); break; } } while (input); }转换成devc++可运行语言
以下是转换好的Dev-C++可运行代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "Management.h"
#define _CRT_SECURE_NO_WARNINGS 1
void one_meun(void) {
printf("******** 文章编辑系统子菜单 *******\n");
printf("***********************************\n");
printf("********** 1.添加文章 **********\n");
printf("********** 2.删除文章 **********\n");
printf("********** 3.查询文章 **********\n");
printf("********** 4.修改文章 **********\n");
printf("********** 5.显示文章 **********\n");
printf("*********** 0.退出登录 **********\n");
printf("***********************************\n");
}
void Enter(user* pc, int i) {
assert(pc);
int input = 0;
do {
one_meun();//选择菜单
printf("请选择 -> ");
scanf("%d", &input);
switch (input) {
case 1:
add_article(&ar);//添加文章
break;
case 2:
del_article(&ar);//删除文章
break;
case 3:
sel_article(&ar);//查询文章
break;
case 4:
modify_article(&ar);//修改文章
break;
case 5:
display_article(&ar);//显示文章
break;
case 0:
//退出登录
printf("退出登录成功\n");
break;
default:
printf("选择无效,重新选择\n");
break;
}
} while (input);
}
int main() {
user u = { "admin", "admin" };
user* pc = &u;
if (login(pc)) {
printf("登录成功\n");
Enter(pc, 0);
}
else {
printf("登录失败\n");
}
return 0;
}
```