news 2026/6/9 16:34:27

vue3 + ts 输入框对特殊字符进行颜色标识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue3 + ts 输入框对特殊字符进行颜色标识


在后台管理系统中用户输入内容需要对特殊字符进行颜色标识,这里使用到的是elementPlus,因为输入框是字符串无法做颜色标识,只能使用标签形式来做颜色标识。使用定位将渲染元素和输入框重合在一起,输入框背景透明、颜色透明,循环输入元素对每个元素进行判断,是否需要颜色标记,有的话插入一个带class标签span来处理

<template><divclass="keywordInputContainer"><!--和输入层完全重叠,负责渲染标色文字--><divclass="highlightDev"v-html="highlightedText"></div><!--透明,仅负责编辑--><el-inputclass="highlightInput"v-model="inputData"type="textarea"resize="none"@input="handleInput"/></div></template><script lang="ts"setup>constinputData=ref('')consthighlightedText=ref('')consthighlightBracketContent=(inputText:string)=>{if(!inputText)return''letresult=''constinputTextNew=JSON.parse(JSON.stringify(inputText))// 遍历每个字符处理for(leti=0;i<inputTextNew.length;i++){constchar=inputTextNew[i]// 获取字符ASCII编码(十进制)constasciiCode=char.charCodeAt(0)letcharHtml=''// 1. 控制字符(0-31、127)if((asciiCode>=0&&asciiCode<=31)||asciiCode===127){charHtml=`<span class="highlight-text">${char}</span>`}// 2. 显示字符(32-126)elseif(asciiCode>=32&&asciiCode<=126){charHtml=`<span class="highlight-text">${char}</span>`}else{charHtml=char}result+=charHtml;}returnresult;}// 实时输入触发标色consthandleInput=()=>{highlightedText.value=highlightBracketContent(inputData.value);}watch(inputData,handleInput,{immediate:true});</script><style scoped lang="scss">:deep(.highlight-text){background:#fbde28!important;margin:0!important;padding:0!important;border:none!important;// background: none !important;font-weight:inherit!important;font-size:inherit!important;line-height:inherit!important;font-family:inherit!important;vertical-align:baseline!important;}.keywordInputContainer{width:100%;height:100%;position:relative;.highlightDev{position:absolute;top:0;left:0;height:100%;width:100%;padding:8px11px!important;box-sizing:border-box;font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif!important;font-size:14px!important;line-height:1.5!important;word-break:break-all;white-space:pre-wrap;overflow-y:auto;pointer-events:none;z-index:1;}// 输入层:透明,仅保留编辑功能:deep(.highlightInput){position:relative;width:100%;height:100%;box-sizing:border-box;z-index:999;.el-textarea__inner{background-color:transparent!important;color:transparent!important;-webkit-text-fill-color:transparent!important;caret-color:#333!important;padding:8px11px!important;font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif!important;font-size:14px!important;line-height:1.5!important;word-break:break-all;white-space:pre-wrap;border:1px solid #dcdfe6!important;resize:none!important;&:focus{caret-color:#409eff!important;border-color:#409eff!important;}}}}</style>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 14:09:47

AffectNet数据集完整使用指南:从入门到精通的表情识别解决方案

AffectNet数据集完整使用指南&#xff1a;从入门到精通的表情识别解决方案 【免费下载链接】AffectNet数据集资源下载说明 AffectNet数据集是一个专为表情识别研究设计的大规模资源&#xff0c;包含丰富的表情标签&#xff0c;为开发者和研究者提供了宝贵的实验材料。通过简单的…

作者头像 李华
网站建设 2026/6/2 18:01:00

Docker批量部署难题一网打尽,云原生Agent落地不再难

第一章&#xff1a;云原生Agent与Docker批量部署概述在现代分布式系统架构中&#xff0c;云原生Agent作为连接基础设施与业务逻辑的关键组件&#xff0c;承担着监控、配置同步、日志采集和自动化运维等核心职责。这些轻量级程序通常以容器化形式运行&#xff0c;依托Docker等容…

作者头像 李华
网站建设 2026/6/10 16:15:50

掌握VSCode量子任务权限控制的7个高级技巧,99%的开发者都不知道

第一章&#xff1a;VSCode 量子作业的权限控制概述在现代软件开发中&#xff0c;VSCode 已成为开发者处理量子计算任务的重要集成开发环境。随着多用户协作和远程开发场景的普及&#xff0c;对量子作业执行过程中的权限控制提出了更高要求。合理的权限机制不仅能保障核心算法与…

作者头像 李华
网站建设 2026/6/10 12:33:21

Android应用多开终极指南:免Root实现安全分身

Android应用多开终极指南&#xff1a;免Root实现安全分身 【免费下载链接】VirtualApp VirtualApp - 一个在Android系统上运行的沙盒产品&#xff0c;类似于轻量级的“Android虚拟机”&#xff0c;用于APP多开、游戏合集、手游加速器等技术领域。 项目地址: https://gitcode.…

作者头像 李华
网站建设 2026/6/9 21:25:45

3大应用场景+2种实现模式:AI推理可视化如何重塑企业决策透明度

3大应用场景2种实现模式&#xff1a;AI推理可视化如何重塑企业决策透明度 【免费下载链接】fabric fabric 是个很实用的框架。它包含多种功能&#xff0c;像内容总结&#xff0c;能把长文提炼成简洁的 Markdown 格式&#xff1b;还有分析辩论、识别工作故事、解释数学概念等。源…

作者头像 李华
网站建设 2026/6/9 20:53:54

MCP Azure量子认证实验题全解析(仅限内部流出步骤)

第一章&#xff1a;MCP Azure量子认证实验题概述Azure量子认证是微软为开发者和量子计算爱好者提供的专业能力验证体系&#xff0c;旨在评估申请者在量子算法设计、量子电路实现以及Azure Quantum平台操作方面的综合技能。该认证实验题聚焦实际场景&#xff0c;要求考生在真实或…

作者头像 李华