From f3d18d3413b2d5f90457588017e1c535a06e4d26 Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期二, 01 四月 2025 18:00:22 +0800
Subject: [PATCH] 优化头部标签卡

---
 src/layouts/components/HeaderNav.vue |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/layouts/components/HeaderNav.vue b/src/layouts/components/HeaderNav.vue
index 6822bff..d88ea34 100644
--- a/src/layouts/components/HeaderNav.vue
+++ b/src/layouts/components/HeaderNav.vue
@@ -6,7 +6,7 @@
         <!-- 折叠 -->
         <i @click="clickFold" class="el-icon-s-fold"></i>
         <!-- 标签列表 -->
-        <div class="tag-list-container">
+        <div class="tag-list-container" @wheel.prevent="handleWheel">
           <div class="tag-list" v-for="tag in tagList" :key="tag.name">
             <div @click="goTag(tag)" :class="{ 'activeTag': tag.path === $route.path }">
               {{ tag.meta.title }}
@@ -34,6 +34,8 @@
   data() {
     return {
       userInfo: '',
+      scrollTimer: null,
+      scrollAmount: 0
     }
   },
   computed: {
@@ -72,6 +74,23 @@
     // 跳转标签
     goTag(tag) {
       this.$router.push(tag.path)
+    },
+    handleWheel(e) {
+      if (this.scrollTimer) {
+        this.scrollAmount += e.deltaY;
+        return;
+      }
+      
+      const container = e.currentTarget;
+      this.scrollAmount = e.deltaY;
+      
+      const scroll = () => {
+        container.scrollLeft += this.scrollAmount * 1.2; // 增加滚动速度
+        this.scrollAmount = 0;
+        this.scrollTimer = null;
+      };
+      
+      this.scrollTimer = setTimeout(scroll, 8); // 减少延迟时间
     }
   },
 }
@@ -86,13 +105,15 @@
   display: flex;
   align-items: center;
   justify-content: space-between;
+  overflow: hidden;
 
   .user-logininfo-icon {
     margin-right: 30px;
     flex: 1;
-    flex-shrink: 0;
     display: flex;
     align-items: center;
+    min-width: 0;
+    overflow: hidden;
 
     i:first-child {
       margin-right: 21px;
@@ -106,6 +127,10 @@
       display: flex;
       align-items: center;
       overflow-x: auto;
+      flex: 1;
+      min-width: 0;
+      scroll-behavior: auto; // 移除平滑滚动,提高性能
+      -webkit-overflow-scrolling: touch;
 
       .tag-list {
         flex-shrink: 0;

--
Gitblit v1.7.1