news 2026/4/18 12:24:33

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/4/18 2:35:45

揭秘Docker Compose中的Agent服务配置:90%开发者忽略的3个关键细节

第一章&#xff1a;揭秘Docker Compose中Agent服务的核心价值 在现代微服务架构中&#xff0c;Docker Compose 成为管理多容器应用的首选工具。其中&#xff0c;Agent 服务作为一种后台代理组件&#xff0c;承担着监控、日志收集、健康检查和配置同步等关键职责&#xff0c;显著…

作者头像 李华
网站建设 2026/4/18 5:12:58

无人机车辆密度检测系统价格 询价准备 需要明确哪些参数 物流园区无人机车辆调度系统 无人机多模态车流密度检测技术

当交通管理部门、高速运营公司或大型活动承办方开始调研无人机车辆密度检测系统价格时&#xff0c;他们往往会得到一个宽泛的报价区间&#xff0c;从十几万到上百万人民币不等。产生如此巨大差异的原因&#xff0c;绝非供应商随意定价&#xff0c;而是因为这套系统的价格是一系…

作者头像 李华
网站建设 2026/4/17 17:53:39

EmotiVoice是否提供图形化操作界面?第三方工具推荐

EmotiVoice是否提供图形化操作界面&#xff1f;第三方工具推荐 在虚拟偶像、智能助手和游戏NPC日益“人格化”的今天&#xff0c;语音不再只是信息传递的工具&#xff0c;更成为情感表达的核心载体。用户早已不满足于机械朗读式的合成语音&#xff0c;而是期待能听见“愤怒时颤…

作者头像 李华
网站建设 2026/4/18 5:12:56

ForensicsTool电子取证工具终极部署指南:5分钟快速配置方案

ForensicsTool电子取证工具终极部署指南&#xff1a;5分钟快速配置方案 【免费下载链接】ForensicsTool 简单的取证工具 项目地址: https://gitcode.com/gh_mirrors/fo/ForensicsTool 想要快速掌握专业的电子取证工具部署技巧吗&#xff1f;ForensicsTool作为一款功能强…

作者头像 李华
网站建设 2026/4/18 5:07:39

3. SpringCloud之Ribbon使用

image.pngRibbon 是一个独立的组件&#xff0c;是用来进行远程接口调用的&#xff0c;代码如下 通过 getForObject 方法可以掉到用 micro-order 服务的&#xff0c;order/list 接口。然后在调用期间会存在负载均衡&#xff0c;micro-order 服务对应有几个服务实例就会根据负载均…

作者头像 李华
网站建设 2026/4/17 22:15:31

揭秘量子时代下的安全审计:MCP SC-400实战应用的5个关键步骤

第一章&#xff1a;MCP SC-400量子安全审计的演进与挑战随着量子计算技术的快速发展&#xff0c;传统加密体系面临前所未有的破解风险。MCP SC-400作为新一代量子安全审计标准&#xff0c;旨在应对后量子时代的信息安全挑战&#xff0c;确保关键基础设施在量子攻击下的数据完整…

作者头像 李华