news 2026/6/18 6:46:48

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/10 16:20:49

Docker镜像安全如何把控?一文掌握Scout漏洞导出核心技术

第一章&#xff1a;Docker镜像安全如何把控&#xff1f;一文掌握Scout漏洞导出核心技术在持续集成与交付&#xff08;CI/CD&#xff09;流程中&#xff0c;Docker镜像的安全性至关重要。未受控的镜像可能引入已知漏洞&#xff0c;导致系统面临远程代码执行、权限提升等风险。Am…

作者头像 李华
网站建设 2026/6/16 12:35:55

揭秘SUSFS4KSU模块:实现真正内核级Root隐藏的终极方案

揭秘SUSFS4KSU模块&#xff1a;实现真正内核级Root隐藏的终极方案 【免费下载链接】susfs4ksu-module An addon root hiding service for KernelSU 项目地址: https://gitcode.com/gh_mirrors/su/susfs4ksu-module 在当今移动设备安全日益重要的时代&#xff0c;Root权限…

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

ssm家校亲子共读平台f47274pe(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表开题报告内容基于SSM框架的家校亲子共读平台开题报告一、选题背景与意义1.1 选题背景随着“双减”政策的深入实施&#xff0c;学生从繁重的课业负担中解放出来&#xff0c;拥有了更多自主阅读的时间。亲子共读作为一种有效的家庭教育方式&#xff0c;不仅能够增…

作者头像 李华
网站建设 2026/6/16 14:13:09

Java设计模式超详解--观察者设计模式

目录 一&#xff0c;看图初步理解 二&#xff0c;题目 题目分析&#xff1a; 三&#xff0c;总结 一&#xff0c;看图初步理解 如果是刚开始接触到设计模式的朋友&#xff0c;可能会疑惑 观察者是个什么意思(・∀・(・∀・(・∀・*)&#xff0c;要观察什么 举个例子&#…

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

(MCP专家私藏笔记)MS-720中Teams Agent消息处理的4种高阶模式

第一章&#xff1a;MS-720中Teams Agent消息处理的核心机制Microsoft Teams Agent在MS-720认证所涵盖的通信架构中&#xff0c;承担着关键的消息路由与事件响应职责。其核心机制依赖于实时消息队列、事件订阅模型以及上下文感知的处理逻辑&#xff0c;确保用户交互能够被准确解…

作者头像 李华
网站建设 2026/6/17 19:30:37

StarRocks索引架构深度解析:构建毫秒级响应的大数据查询引擎

StarRocks索引架构深度解析&#xff1a;构建毫秒级响应的大数据查询引擎 【免费下载链接】starrocks StarRocks是一个开源的分布式数据分析引擎&#xff0c;用于处理大规模数据查询和分析。 - 功能&#xff1a;分布式数据分析&#xff1b;大规模数据查询&#xff1b;数据分析&a…

作者头像 李华