修复headerVue中,屏幕宽度小于800px,无法切换显示选项的问题
This commit is contained in:
@@ -1,5 +1,41 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { onMounted } from 'vue';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
|
const router = useRouter()
|
||||||
|
|
||||||
|
interface MoreOptionsVisable {
|
||||||
|
moreOptions: HTMLElement | null;
|
||||||
|
show(): void;
|
||||||
|
hidden(): void;
|
||||||
|
toggle(): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const moreOptionsVisable: MoreOptionsVisable = {
|
||||||
|
moreOptions: null,
|
||||||
|
show() {
|
||||||
|
if (!this.moreOptions)
|
||||||
|
throw new Error('moreOptions元素不存在');
|
||||||
|
this.moreOptions.classList.remove('header-right-hidden');
|
||||||
|
},
|
||||||
|
hidden() {
|
||||||
|
if (!this.moreOptions)
|
||||||
|
throw new Error('moreOptions元素不存在');
|
||||||
|
this.moreOptions.classList.add('header-right-hidden');
|
||||||
|
},
|
||||||
|
toggle() {
|
||||||
|
if (!this.moreOptions)
|
||||||
|
throw new Error('moreOptions元素不存在');
|
||||||
|
this.moreOptions.classList.toggle('header-right-hidden')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
moreOptionsVisable.moreOptions = document.querySelector("#header-right");
|
||||||
|
});
|
||||||
|
|
||||||
|
router.afterEach(() => {
|
||||||
|
moreOptionsVisable.hidden();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="main-container">
|
<div class="main-container">
|
||||||
@@ -13,7 +49,8 @@
|
|||||||
<div class="title">特恩(TONE)</div>
|
<div class="title">特恩(TONE)</div>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
<div class="more" tabindex="0" id="header-more">
|
<!-- 更多选项按钮,宽度小于800时出现 -->
|
||||||
|
<div class="more" tabindex="0" id="header-more" @click="moreOptionsVisable.toggle">
|
||||||
<svg t="1705913460674" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
<svg t="1705913460674" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||||
xmlns="http://www.w3.org/2000/svg" p-id="10513" width="20" height="20">
|
xmlns="http://www.w3.org/2000/svg" p-id="10513" width="20" height="20">
|
||||||
<path
|
<path
|
||||||
@@ -34,7 +71,8 @@
|
|||||||
<div class="link" :class="{ 'link-chosen': $route.name === 'blog' }">博客</div>
|
<div class="link" :class="{ 'link-chosen': $route.name === 'blog' }">博客</div>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
<RouterLink :to="{ name: 'login' }" v-show="true">
|
<RouterLink :to="{ name: 'login' }" v-show="true">
|
||||||
<div class="link" :class="{ 'link-chosen': $route.name === 'login' || $route.name === 'dashboard'}">控制台</div>
|
<div class="link"
|
||||||
|
:class="{ 'link-chosen': $route.name === 'login' || $route.name === 'dashboard' }">控制台</div>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user