【前端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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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;解题思路算法分析问题本质分析二分查找分割算法详解分割策略可视化分割点计算过程边界情况处理算法流程图各种解法对比时间复杂度分析空间复杂度分析关键优化点实际应用场景测…