news 2026/5/4 13:52:12

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/5/5 12:50:13

3步快速修复!Upscayl批量放大功能无响应问题的完整解决方案

你是否遇到过Upscayl批量放大功能点击后毫无反应&#xff1f;选择文件夹后程序像睡着了一样&#xff1f;别担心&#xff0c;这是很多用户都会遇到的常见问题。今天我将为你详细解析Upscayl批量放大失效的根本原因&#xff0c;并提供经过验证的3步修复方案&#xff0c;让你在5分…

作者头像 李华
网站建设 2026/5/3 4:42:51

StaMPS雷达数据处理:5步轻松搭建专业监测环境

想要从卫星雷达数据中精准捕捉地表毫米级位移&#xff1f;StaMPS&#xff08;Stanford Method for Persistent Scatterers&#xff09;正是您需要的专业工具。这款由斯坦福大学开发的先进软件&#xff0c;巧妙融合了持久散射体和小基线两种技术路线&#xff0c;为地质灾害预警和…

作者头像 李华
网站建设 2026/5/5 12:49:40

量子级AI评估新纪元:MCP AI-102必须关注的6项稀缺性性能指标

第一章&#xff1a;MCP AI-102量子模型评估的范式跃迁 传统模型评估依赖静态指标如准确率与F1分数&#xff0c;难以捕捉量子增强AI系统的动态行为。MCP AI-102标志着评估范式的根本性转变——从经典统计验证转向基于量子态可重构性的多维动态分析。 评估维度的扩展 现代评估体…

作者头像 李华
网站建设 2026/5/5 12:48:44

喷砂除锈设备安全操作规程是什么?| 广东鑫百通喷砂机厂家

喷砂除锈设备作业涉及高压、粉尘与高速粒子冲击&#xff0c;严格遵守安全操作规程是保障人员安全、确保作业质量、延长设备寿命的根本前提。 本规程涵盖核心安全要求&#xff0c;作业人员必须培训合格后方可上岗。&#xff08;仅供参考&#xff09; 一、喷砂除锈设备个人安全防…

作者头像 李华
网站建设 2026/5/1 8:08:22

VSCode卡顿拖慢量子算法研发?立即升级这8项配置

第一章&#xff1a;VSCode卡顿对量子算法研发的影响在量子计算领域&#xff0c;开发环境的稳定性与响应速度直接影响算法设计与调试效率。VSCode作为主流集成开发环境&#xff0c;广泛用于编写Q#、Python&#xff08;配合Qiskit、Cirq等框架&#xff09;实现的量子算法。然而&a…

作者头像 李华
网站建设 2026/5/5 3:05:30

构建数字孪生流域数据底座:qData 数据中台 + qThing 物联网平台 助力某省水利厅实现全域感知一体化

从“碎片感知”到“一图统览”&#xff0c;从“人工搬运”到“自动流转”——某河流域数字孪生建设的底层突破在国家大力推进数字孪生流域建设的背景下&#xff0c;某省水利厅率先启动 某河流域数字孪生试点工程&#xff0c;旨在构建“天空地水工”一体化的智能感知与决策体系。…

作者头像 李华