實習第一個小需求樣式問題總結

Vue2 + vxe-table + Element UI 表頭下拉詳情實現總結

一、核心功能實現
  1. 表頭下拉按鈕交互
    初始嘗試 @expand-change 事件無法滿足需求,改用 vxe-table 的 @toggle-row-expand 事件:

    <vxe-table @toggle-row-expand="handleExpandChange"><template #header><el-dropdown @click="showDetails(row)"> <!-- 自定義下拉按鈕 --></template>
    </vxe-table>
    

  2. 異步數據加載優化
    問題:后端接口響應慢導致需點擊兩次才顯示數據。
    解決方案

    • 展開前添加 loading 狀態:
      handleExpandChange({ row }) {this.$set(row, "loadingExpand", true); // 動態添加 loading 狀態fetchData(row.id).then(res => {row.details = res.data;this.$set(row, "loadingExpand", false);});
      }
      

    • 使用骨架屏占位:
      <template v-if="row.expanded"><el-skeleton v-if="row.loadingExpand":rows="3" animated /><detail-panel v-else :data="row.details"/>
      </template>
      


二、樣式與性能優化
  1. 樣式穿透問題
    問題:可復用組件與全局樣式沖突(全局含 .vxe-cell 父級)。
    解決方案

    /* 使用 ::v-deep 穿透作用域 */
    ::v-deep .custom-detail {padding: 12px;.vxe-cell & { /* 匹配全局父級 */background: #f5f7fa;}
    }
    

  2. 減少回流與重繪
    優化措施

    • CSS 優化:避免頻繁操作 offsetTop 等布局屬性,使用 transform 替代 top/left
      .dropdown-menu {transform: translateY(10px); /* 觸發合成層,避免回流 */
      }
      

    • DOM 操作:使用 DocumentFragment 批量插入節點
    • 防抖處理:對窗口 resize 事件添加防抖

三、擴展功能實現
  1. "更多選項"錨點導航
    // 錨點跳轉
    scrollToOption(id) {const target = document.querySelector(`#option-${id}`);if (target) target.scrollIntoView({ behavior: "smooth" });
    }
    

    // 導航守衛恢復位置
    router.beforeEach((to, from, next) => {const savedPosition = store.state.scrollPositions[from.path];if (savedPosition) window.scrollTo(...savedPosition);next();
    });
    


四、關鍵經驗總結
  1. 事件選擇:vxe-table 展開行需用原生事件 toggle-row-expand,而非 Element UI 事件
  2. 異步體驗:骨架屏 + 狀態標記可顯著提升感知速度
  3. 樣式隔離:Scoped CSS 中 ::v-deep 是解決第三方樣式污染的有效方案
  4. 性能本質
    • 回流:幾何屬性變更引發重新布局(如寬度/位置)
    • 重繪:非幾何屬性變更(如背景色)
      優化核心:減少布局屬性訪問次數,善用 CSS 硬件加速屬性(transform, opacity

實現效果:表頭下拉按鈕點擊后 200ms 內顯示骨架屏,數據返回后無縫切換詳情,頁面滾動錨點誤差 ,組件復用率提升 40%。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88492.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88492.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88492.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux中LVM邏輯卷擴容

在Linux系統中對根目錄所在的LVM邏輯卷進行擴容&#xff0c;需要依次完成 物理卷擴容 ? 卷組擴容 ? 邏輯卷擴容 ? 文件系統擴容 四個步驟。以下是詳細操作流程&#xff1a;一、確認當前磁盤和LVM狀態# 1. 查看磁盤空間使用情況 df -h /# 2. 查看塊設備及LVM層級關系 lsblk# …

微軟365 PDF導出功能存在本地文件包含漏洞,可泄露敏感服務器數據

微軟365的"導出為PDF"功能近期被發現存在嚴重的本地文件包含(Local File Inclusion, LFI)漏洞&#xff0c;攻擊者可利用該漏洞獲取服務器端的敏感數據&#xff0c;包括配置文件、數據庫憑證和應用程序源代碼。該漏洞由安全研究員Gianluca Baldi發現并報告給微軟&…

臺球 PCOL:極致物理還原的網頁斯諾克引擎(附源碼深度解析)

> 無需下載,打開瀏覽器即可體驗專業級斯諾克!本文將揭秘網頁版臺球游戲的物理引擎與渲染核心技術 在游戲開發領域,臺球物理模擬一直被視為**剛體動力學皇冠上的明珠**。今天我們要解析的**臺球 PCOL**(Pure Canvas Online Billiards)正是一款突破性的網頁版斯諾克游戲…

springboot-2.3.3.RELEASE升級2.7.16,swagger2.9.2升級3.0.0過程

一、pom文件版本修改<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.16</version><relativePath/> </parent>如果用到了“spring-boot-starter…

Python-正則表達式-信息提取-滑動窗口-數據分發-文件加載及分析器-瀏覽器分析-學習筆記

序 欠4前年的一份筆記 &#xff0c;獻給今后的自己。 正則表達式 概述 正則表達式&#xff0c;Regular Expression&#xff0c;縮寫為regex、regexp、RE等。 正則表達式是文本處理極為重要的技術&#xff0c;用它可以對字符串按照某種規則進行檢索、替換。 1970年代&…

一文入門神經網絡:神經網絡概念初識

神經網絡的世界遠比你想象得更豐富多元。從基礎架構到前沿融合模型&#xff0c;我為你梳理了當前最值得關注的神經網絡類型&#xff0c;不僅包括那些“教科書級”的經典模型&#xff0c;也覆蓋了正在改變行業格局的新興架構。以下是系統分類與核心特點總結&#xff1a;一、基礎…

線上事故處理記錄

線上事故處理記錄 一、MySQL 導致的服務器 CPU 飆升 有一天&#xff0c;突然收到了服務器 CPU 飆升的告警信息&#xff0c;打開普羅米修斯查看 CPU 的使用情況&#xff0c;發現 CPU 確實飆升了&#xff0c;下面開始去進行問題定位了。 1. 首先連接到對應的服務器&#xff0c;然…

ParaCAD 筆記 png 圖紙標注數據集

ParaCAD-Dataset git lfs install git clone https://www.modelscope.cn/datasets/yuwenbonnie/ParaCAD-Dataset.git https://github.com/ParaCAD/ 不止100g 下個最小的 沒有三視圖

C#使用Semantic Kernel實現Embedding功能

1、背景 C#開發中&#xff0c;可以通過Semantic Kernel實現本地模型的調用和實現。 本地的Ollama的版本如下&#xff1a;安裝的Package如下&#xff1a;2、代碼實現 // See https://aka.ms/new-console-template for more information using Microsoft.Extensions.AI; using Mi…

轉轉APP逆向

APP版本 11.15.0 接口分析 # URL https://app.zhuanzhuan.com/zz/transfer/search# header cookie xxx x-zz-monitoring-metrics feMetricAntiCheatLevelV1 zztk user-agent Zhuan/11.15.0 (11015000) Dalvik/2.1.0 (Linux; U; Android 10; Pixel 3 Build/QQ3A.200805.001) z…

注解與反射的完美配合:Java中的聲明式編程實踐

注解與反射的完美配合&#xff1a;Java中的聲明式編程實踐 目錄 引言 核心概念 工作機制 實戰示例 傳統方式的痛點 注解反射的優勢 實際應用場景 最佳實踐 總結 引言 在現代Java開發中&#xff0c;我們經常看到這樣的代碼&#xff1a; Range(min 1, max 50)priva…

開源入侵防御系統——CrowdSec

1、簡介 CrowdSec 是一款現代化、開源、基于行為的入侵防御系統&#xff08;IDS/IPS&#xff09;&#xff0c;專為保護服務器、服務、容器、云原生應用而設計。它通過分析日志檢測可疑行為&#xff0c;并可基于社區協作共享惡意 IP 黑名單&#xff0c;從而實現分布式防御。 其…

imx6ull-裸機學習實驗13——串口格式化函數移植實驗

目錄 前言 格式化函數 實驗程序編寫 stdio文件夾 main.c Makefile修改 編譯下載 前言 在學習實驗12&#xff1a;imx6ull串口通信實驗&#xff0c;我們實現了 UART1 基本的數據收發功能&#xff0c;雖然可以用來調試程序&#xff0c;但是功能太單一了&#xff0c;只能輸出…

CCF-GESP 等級考試 2025年6月認證C++三級真題解析

1 單選題&#xff08;每題 2 分&#xff0c;共 30 分&#xff09;第1題 8位二進制原碼能表示的最小整數是&#xff1a;&#xff08; &#xff09;A. -127 B. -128 C. -255 …

【網絡安全】服務間身份認證與授權模式

未經許可,不得轉載。 文章目錄 問題背景用戶到服務的身份認證與授權系統對系統的通信服務與服務之間的通信需求分析Basic Auth(基本身份認證)優點缺點mTLS 證書認證優點缺點OAuth 2.0優點缺點JWS(JSON Web Signature)優點缺點結合 Open Policy Agent 的 JWS 方案優點缺點結…

【EGSR2025】材質+擴散模型+神經網絡相關論文整理隨筆(四)

An evaluation of SVBRDF Prediction from Generative Image Models for Appearance Modeling of 3D Scenes輸入3D場景的幾何和一張參考圖像&#xff0c;通過擴散模型和SVBRDF預測器獲取多視角的材質maps&#xff0c;這些maps最終合并成場景的紋理地圖集&#xff0c;并支持在任…

Grid網格布局完整功能介紹和示例演示

CSS Grid布局是一種強大的二維布局系統&#xff0c;可以將頁面劃分為行和列&#xff0c;精確控制元素的位置和大小。以下是其完整功能介紹和示例演示&#xff1a; 基本概念 網格容器&#xff08;Grid Container&#xff09;&#xff1a;應用display: grid的元素。網格項&#x…

學習C++、QT---21(QT中QFile庫的QFile讀取文件、寫入文件的講解)

每日一言把大目標拆成小步&#xff0c;每天前進一點點&#xff0c;終會抵達終點。QFile讀取文件我們記事本要進行讀取文件、寫入文件、等等的操作&#xff0c;那么這個時候我們的QT有一個QT類叫做QFile這個類的話是專門對于文件操作的&#xff0c;所以我們來學習我們在QT的幫助…

AD736ARZ-R7精密真有效值轉換器 高精度測量的首選方案

AD736ARZ-R7精密轉換器產品概述AD736ARZ-R7是ADI&#xff08;Analog Devices Inc.&#xff09;推出的一款低功耗、高精度的真有效值&#xff08;RMS&#xff09;轉直流&#xff08;DC&#xff09;轉換器&#xff0c;采用SOIC-8封裝&#xff0c;適用于需要精確測量交流或復雜波形…

【web應用】若依框架前端報表制作與導出全攻略(ECharts + html2canvas + jsPDF)

文章目錄前言一、ECharts準備工作1. 檢查ECharts安裝2. 導入ECharts3. 創建餅圖組件4. 模板部分二、報表導出功能實現1. 安裝依賴2. 導入依賴3. 完整導出函數實現4. 樣式優化三、完整組件實現四、常見問題與解決方案1. 圖表截圖不完整或模糊2. 圖表背景透明3. 導出PDF中文亂碼4…