bladex前端ui项目,基于avue-cli2.0开发 包含基础工作流,不包含表单设计器 https://git.javablade.com/blade/Saber
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

66 lines
1.4 KiB

<template>
<el-menu class="top-menu"
:default-active="activeIndex"
mode="horizontal"
text-color="#333">
<el-menu-item index="0"
@click="openHome(itemHome)">
<template #title>
<i :class="itemHome.source"
style="padding-right: 5px;"></i>
<span>{{itemHome.name}}</span>
</template>
</el-menu-item>
<template v-for="(item,index) in items"
:key="index">
<el-menu-item :index="item.id+''"
@click="openMenu(item)">
<template #title>
<i :class="item.source"
style="padding-right: 5px;"></i>
<span>{{item.name}}</span>
</template>
</el-menu-item>
</template>
</el-menu>
</template>
<script>
import { mapGetters } from "vuex";
export default {
name: "top-menu",
data () {
return {
itemHome: {
name: '首页',
source: 'iconfont iconicon_work',
},
activeIndex: "0",
items: []
};
},
inject: ["index"],
created () {
this.getMenu();
},
computed: {
...mapGetters(["tagCurrent", "menu", 'tagWel'])
},
methods: {
openMenu (item) {
this.index.openMenu(item)
},
openHome (itemHome) {
this.index.openMenu(itemHome);
this.$router.push(this.tagWel);
},
getMenu () {
this.$store.dispatch("GetTopMenu").then(res => {
this.items = res;
});
},
}
};
</script>