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.
 
 
 

75 lines
1.7 KiB

<template>
<div class="header-wrapper">
<div class="left">
<div class="logo"><img :src="LogoZh" alt="" style="height: 30px;width: 169px"></div>
<span class="menu-icon" @click="handleToggle">
<!-- 使用 props.collapsed -->
<component v-if="!props.collapsed" :is="renderIcon('antd MenuFoldOutlined')"></component>
<component v-else :is="renderIcon('antd MenuUnfoldOutlined')"></component>
</span>
</div>
<div class="user">
<span>
<component :is="renderIcon('element User')"></component>
</span>
</div>
</div>
</template>
<script setup>
import {ref} from 'vue'
import { renderIcon } from '@/utils/webutils.js'
import Logo from '@/assets/images/logo.png'
import LogoZh from '@/assets/images/logo_zh.png'
// 接收 props
const props = defineProps({
isMobile: Boolean,
collapsed: Boolean // 这个是父组件传进来的菜单状态
})
const emit = defineEmits(['toggle-collapse'])
function handleToggle() {
emit('toggle-collapse')
}
</script>
<style lang="less">
.header-wrapper {
display: flex;
flex-direction: row;
overflow: hidden;
justify-content: space-between;
align-items: center;
height: 100%;
.left{
flex:1;
display: flex;
flex-direction: row;
.logo {
display: flex;
align-items: center;
margin: 0 20px 0 10px;
}
.menu-icon{
display: inline-flex;
padding:10px;
cursor: pointer;
.el-icon{
font-size: 20px;
color:#fff;
}
}
}
.user {
display: flex;
flex-direction: row;
align-items: center;
& > span {
display: inline-flex;
padding: 5px;
background: #f4c521;
border-radius: 15px;
color: #fff;
}
}
}
</style>