【前端Vue】log-viewer組件的使用技巧

目錄

修改行號和組件的樣式

修改高亮顯示的內容和顏色


?**log-viewer組件合集**

【前端Vue】如何優雅地展示帶行號的日志文件或文本內容(log-viewer組件的使用)

【前端Vue】使用log-viewer組件時的踩坑記錄

【前端Vue】log-viewer組件的使用技巧

【前端Vue】如何在log-viewer組件中添加搜索定位功能?

修改行號和組件的樣式

以下是默認的log-viewer組件樣式

以下是經過修改過后的log-viewer組件樣式

經過對行號樣式和內容樣式的調整,文件內容顯示器已經變得比較接近ace-editor的美觀程度(如下圖為ace-editor)

但還是有一些差距,可以按照需要進行細微調整,接下來將說明我是如何做出圖中的效果的。

首先是對背景顏色的修改,這里需要修改的是log-content部分修改時也要對鼠標懸停在某一行的樣式進行同步修改也就是.line-wrapper,否則影響觀感,同時細心觀察可以發現字體font-family不一樣,我也做了修改,這幾部分內容都可以在.log-content中進行樣式定義,滾動條scrollbar的修改看需求,我這邊為了美觀做了些修改

.log-content {font-family:'Monaco','Menlo','Ubuntu Mono','Consolas','source-code-pro',monospace !important;position: relative !important;font-size: 12px !important;color: #606266 !important;height: 100%;overflow-y: scroll !important;scrollbar-width: 5px !important;scrollbar-color: #bfc7d7 #ffffff !important;white-space: pre-line !important;width: 100% !important;padding: 0px;background-color: rgb(255, 255, 255) !important;
/*如果不使用這個就會向上圖一樣有懸停黑底效果并且正常顯示時也會受到影響*//* .line-wrapper {color: #606266;&:hover {background-color: #ffffff;}} */
}

要保證拓寬行號的顯示寬度以及文本內容與行號的間距,需要對.line-wrapper .line-number進行調整

.line-wrapper .line-number {margin-right: 5px;min-width: 50px !important;
}

如果不調整這部分會是這種效果

因為上方設置了

.log-content .line-wrapper {margin-left: -26px;
}

因為不設置的話行號的背景色一旦設置了與內容背景不同色,就會出現一圈邊框。

如果在

.log-content .line-wrapper {margin-left: -26px;
}

設置了的情況下不調整這部分的話就會是下面的效果

.line-wrapper .line-number {padding-left: 10px;
}

所以每個部分的調整都需要相互兼顧,不能只調整某個部分。各個部分可以借助瀏覽器進行元素名稱的定位識別,方便有針對性地覆蓋原有樣式,而后直接在引用頁面編寫對應css代碼即可

修改高亮顯示的內容和顏色

如圖是高亮指定文字的顯示效果:

首先要新增一個高亮文字的方法,該方法定義了需要高亮的關鍵詞,并使用正則表達式匹配關鍵詞并應用ANSI轉義序列

applyDefaultHighlight(content) {if (!content) return content;// 定義需要高亮的關鍵詞const keywords = ['time =','res ='];// 對每個關鍵詞應用高亮(只高亮字體,不改變背景)let highlightedContent = content;keywords.forEach(keyword => {// 使用正則表達式匹配關鍵詞并應用ANSI轉義序列(藍色字體)const regex = new RegExp(`(${this.escapeRegExp(keyword)})`, 'g');highlightedContent = highlightedContent.replace(regex, '\x1b[34m$1\x1b[0m');});return highlightedContent;},

注意應用ANSI轉義序列的字體顏色只能使用預設的色號,我這里使用的是藍色,色號會被固定,如果想自定義色號也可以,但原來轉義序列部分要保留,直接在css代碼中編寫覆蓋即可。.log-fore-blue就是對應修改預制的藍色,其他顏色的修改也是一樣的。

.line-content .log-fore-blue {color: #0000ff !important;
}

然后再在computed部分編寫方法調用,處理從后端拿來的展示內容,經過上面方法的處理后綁定到log-viewer的:log屬性中

defaultHighlightedLogContent() {if (這部分可以是觸發高亮的條件) {return this.applyDefaultHighlight(this.logContent);}return this.logContent;
},
// 修改高亮顯示的日志內容
highlightedLogContent() {let content = this.logContent;// 應用默認高亮if (這部分可以是觸發高亮的條件) {content = this.applyDefaultHighlight(content);}
},

具體的log-viewer組件使用方法可以參考

【前端Vue】如何優雅地展示帶行號的日志文件或文本內容(log-viewer組件的使用)

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

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

相關文章

OpenCV Python——報錯AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘,解決辦法

Python在使用 bgsubmog cv2.bgsegm.createBackgroundSubtractorMOG() 去除背景,報錯AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘ 報錯原因:使用的python環境中沒有安裝擴展包contrib 可以通過pip或者conda安裝 pip install opencv-con…

react + i18n:國際化

注意版本 我這是舊版 react react 16.8.6 i18next 20.6.1 react-i18next 11.18.6文件:zh.json {“hello”: "你好" }文件:en.json {“hello”: "hello" }文件:i18n.tsx import i18n from i18next; import { initRea…

lesson38:MySQL數據庫核心操作詳解:從基礎查詢到高級應用

目錄 引言 一、條件查詢:精準篩選數據 1.1 基本語法 1.2 比較運算符 1.3 邏輯運算符 1.4 特殊條件查詢 1.4.1 模糊查詢(LIKE) 1.4.2 IN和NOT IN 1.4.3 BETWEEN AND 1.4.4 IS NULL和IS NOT NULL 二、聚合函數:數據統計與…

【數據分析】調控網絡分析:調節因子在腫瘤樣本中的表達相關性與生存效應分析

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹 數據準備與模擬 相關性分析與邊表生成 網絡可視化 結果展示與討論 加載R包 模擬數據 Spearman 相關 -> 邊表 畫圖 所有代碼 總結 系統信息 介紹 在生物醫學研究中,N?-甲基腺…

Flask中ORM的使用

Flask中ORM的使用 本文介紹Flask中ORM框架flask_sqlalchemy的基本使用,包含模型定義(簡單模型,一對一,一對多,多對多等),由于實際開發中很少使用物理外鍵,所有本文所有模型都不使用物理外鍵,而關…

FPGA即插即用Verilog驅動系列——高速12位ADC

實現功能:單通道ADC驅動,速率由驅動的時鐘決定12位數據并行,可輕松修改為其他位寬,適應不同的ADC模塊將ADC輸入的unsigned數據轉換為signed,便于后續FIR,MULTI操作匹配AXI4-STREAM協議,有tvalid…

DeepSeek 部署中的常見問題及解決方案:從環境配置到性能優化的全流程指南

一、引言隨著大模型技術的發展,以 DeepSeek 為代表的開源中文大模型,逐漸成為企業與開發者探索私有化部署、垂直微調、模型服務化的重要選擇。然而,模型部署的過程并非 “一鍵啟動” 那么簡單。從環境依賴、資源限制,到推理性能和…

【機器人-開發工具】ROS 2 (4)Jetson Nano 系統Ubuntu22.04安裝ROS 2 Humble版本

文章目錄1. 系統環境準備1.1. Jetpack簡介1.2. 下載Jetpack安裝系統2. 安裝ROS2 Humble2.1. ROS2 簡介2.2. ROS2 Humble對比Foxy版本2.3. 安裝2.3.1. 更新系統2.3.2. 添加 ROS 2 GPG 密鑰2.3.3. 添加 ROS 2 倉庫源2.3.4. 更新軟件包索引2.3.5. 安裝 ROS 2 Humble 桌面版&#x…

2025年Java大廠面試場景題全解析:高頻考點與實戰攻略

一、2025年Java面試新趨勢與技術棧變化2025年的Java技術生態呈現出明顯的云原生與AI集成趨勢,各大互聯網公司在面試中更加注重候選人對新技術棧的掌握程度和實戰應用能力。1.1 技術棧升級趨勢分析根據最新統計數據,2025年Java面試的技術考察點分布如下&a…

TCP客戶端Linux網絡編程設計詳解

一、TCP 客戶端設計流程TCP客戶端模式的程序設計流程主要分為&#xff1a;套接字初始化( socket()函數)&#xff0c;連接目標網絡服務器 (connect()函數)&#xff0c;向服務器端寫入數據&#xff08;write()函數&#xff09;1、socket() 函數#include <sys/types.h> …

webpack》》

Webpark 介紹 官網 Webpack的功能 在現代前端開發中,我們會使用模塊化、Sass、TypeScript、圖片、字體等資源。但瀏覽器并不天然支持這些格式,因此我們需要工具將它們打包、轉換成瀏覽器能識別的文件格式。Webpack 就是這樣一個強大的前端構建工具。 Webpack 是一個現代 J…

軟件測評中HTTP 安全頭的配置與測試規范

服務器若缺乏必要的安全頭配置&#xff0c;其安全防護能力將大幅降低。X-Content-Type-Options 作為基礎安全頭&#xff0c;需設置 nosniff 參數&#xff0c;以阻止瀏覽器對 MIME 類型進行自主猜測&#xff0c;避免 text/css 等資源被誤當作腳本執行&#xff0c;從源頭切斷此類…

5G專網項目外場常見業務測試指南(六)-PingInfoView

5G項目必然涉及到終端用戶的使用&#xff0c;終端使用情況測試最常用的手段就是長時間7*24小時長ping&#xff0c;對于一個有著幾百用戶的5G專網&#xff0c;我們常用的ping工具-PingInfoView。 PingInfoView是一款輕量級工具&#xff0c;用于同時對多個IP地址或主機名執行持續…

C#WPF實戰出真汁02--搭建項目三層架構

1、什么是三層架構 三層架構是一種軟件設計模式&#xff0c;將應用程序劃分為表示層&#xff08;UI&#xff09;、業務邏輯層&#xff08;BLL&#xff09;和數據訪問層&#xff08;DAL&#xff09;&#xff0c;以實現高內聚、低耦合的開發目標。 三層架構的核心組成? ?表示層…

什么是費曼學習法?

什么是費曼學習法&#xff1f;一、費曼學習法的核心邏輯 費曼學習法&#xff08;Feynman Technique&#xff09;由諾貝爾物理學獎得主理查德費曼提出&#xff0c;核心思想是通過“以教促學”的方式&#xff0c;用輸出倒逼輸入&#xff0c;徹底理解知識。其本質是&#xff1a;當…

CVPR 2025 | 北大團隊SLAM3R:單目RGB長視頻實時重建,精度效率雙殺!

北京大學陳寶權團隊聯合香港大學等推出的實時三維重建系統SLAM3R&#xff0c;首次實現從單目RGB長視頻中實時且高質量重建場景稠密點云。該系統通過前饋神經網絡無縫集成局部3D重建與全局坐標配準&#xff0c;提供端到端解決方案&#xff0c;使用消費級顯卡&#xff08;如4090D…

現代化水庫運行管理矩陣建設的要點

2023年8月24日&#xff0c;水利部發布的水利部關于加快構建現代化水庫運行管理矩陣的指導意見中指出&#xff0c;在全面推進水庫工程標準化管理的基礎上&#xff0c;強化數字賦能&#xff0c;加快構建以推進全覆蓋、全要素、全天候、全周期“四全”管理&#xff0c;完善體制、機…

【工具】用于視頻遮蓋行人及車牌的工具,基于YOLO

最近錄制數據時&#xff0c;為了保護隱私&#xff0c;我做了一個小工具&#xff1a;video-privacy-blur 在采集街景、測試視頻時&#xff0c;經常會拍到人臉和車牌&#xff0c;這些信息在分享或存儲前必須做匿名化處理。手動后期太耗時&#xff0c;于是我基于 Ultralytics YOLO…

EtherCAT概念介紹

一、EtherCAT 簡介?EtherCAT&#xff08;Ethernet Control Automation Technology&#xff09;是一種工業以太網現場總線&#xff0c;它將計算機網絡中的以太網技術應用于工業自動化領域&#xff0c;構成工業控制以太網&#xff08;工業以太網、工業以太網現場總線&#xff09…

【LeetCode】4. 尋找兩個正序數組的中位數

文章目錄4. 尋找兩個正序數組的中位數題目描述示例 1&#xff1a;示例 2&#xff1a;提示&#xff1a;解題思路算法分析問題本質分析二分查找分割算法詳解分割策略可視化分割點計算過程邊界情況處理算法流程圖各種解法對比時間復雜度分析空間復雜度分析關鍵優化點實際應用場景測…