Слияние кода завершено, страница обновится автоматически
<template>
<div>
<a-layout-header class="header">
<div class="logo">
<img src="@/assets/logo.svg" alt />
<div>
<div class="platform">
<span>Vue-Antd-Admin</span>
</div>
</div>
</div>
<div :style="style">
<a-menu :selectedKeys="[defaultSystem]" theme="dark" mode="horizontal">
<a-menu-item @click="changeSystem" v-for="item in system" :key="item.key">{{item.title}}</a-menu-item>
</a-menu>
<div class="avactor">
<a-dropdown :trigger="['contextmenu']">
<a-badge :count="1000" :overflow-count="999">
<a-avatar :size="32" class="avatar" icon="user" />
</a-badge>
<a-menu slot="overlay">
<a-menu-item key="1">1st menu item</a-menu-item>
<a-menu-item key="2">2nd menu item</a-menu-item>
<a-menu-item key="3" @click="showConfirm">退出</a-menu-item>
</a-menu>
</a-dropdown>
</div>
</div>
</a-layout-header>
</div>
</template>
<script>
import { mapState, mapMutations } from "vuex";
import { Menu,TopMenu } from "@/config/config";
export default {
data() {
return {
style: {
lineHeight: "64px",
display: "flex",
justifyContent: "flex-start",
alignItems: "center",
height: "64px"
},
system: TopMenu
};
},
computed: {
...mapState(["defaultSystem"])
},
methods: {
...mapMutations(["setCurrentSystem"]),
// 点击退出按钮时弹框提示
showConfirm() {
this.$confirm({
title: "Do you Want to delete these items?",
content: () => <div style="color:red;">Some descriptions</div>,
onOk() {
console.log("OK");
},
onCancel() {
console.log("Cancel");
},
class: "test"
});
},
//
changeSystem(args) {
let key = args.key;
this.setCurrentSystem(key);
let currentMenuGroup = Menu.find(ele => {
if (ele.system == key) {
return true;
}
return false;
});
console.log(currentMenuGroup);
this.$router.push(`/${currentMenuGroup.children[0].key}`);
}
}
};
</script>
<style lang="less" scoped>
.header {
width: 100vw;
display: flex;
justify-content: space-between;
align-items: center;
.platform {
color: #fff;
}
.avactor {
float: right;
margin-left: 20px;
}
.ant-menu-item,
.ant-menu-item-selected {
height: 64px;
line-height: 64px;
}
}
#components-layout-demo-top-side-2 .logo {
width: 220px;
height: 100%;
float: left;
display: flex;
justify-content: center;
align-items: center;
img {
width: 40px;
height: 40px;
margin-right: 20px;
}
}
</style>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )