前端文本框插入标签(错误新增红色错误文字)

近期产品需求遇到一个问题,需要在查询输入框输入内容之后,需要 提示由后端返回不匹配文字,并且标红

有几种解决方案

1、最简单的方法是在输入框外,如它的下面新增 错误提示文字信息,最后正则匹配替换高亮错误文字

2、使用富文本的方式,需引入第三方富文本组件且需去除无关功能,然后在去正则匹配后端返回的文字,然后再新增带有style的标签即可,

3、使用使用障眼法,在textarea上面定位一个div并使用v-html富文本渲染,使用pointer-events: none;进行穿透可输入处理,且也可以同步到光标的位置,个人觉得是比较好的一种方法

实现:

<template><div><div class="addBox"  @click="hideRed"><el-input class="editInput" v-model="content" :maxLength="100" placeholder="请输入"type="textarea"></el-input><!-- 高亮遮罩处理 --><div class="editDiv textareaClas" v-html="contentHtml" contentEditable="true" v-if="contentHtml"> //contentEditable 是为了使其提供光标,然后通过点击可以渗透到textarea进行错误的修正</div></div><p  @click="addRed">请求接口</p></div>
</template><script>
export default {data() {return {content: '',contentHtml: ''};},methods: {hideRed() {//这里的话 如果点击该div,就会隐藏掉遮罩内容if (this.contentHtml) {this.contentHtml = ''}},addRed() {let text = this.content;['哈哈'].forEach(item => {// 使用 `new RegExp()` 创建正则表达式,并且用变量 item 的值替换里面的占位符  const regex = new RegExp(item, 'g'); // 如果 item 可能包含正则表达式特殊字符,需要额外转义  text = text.replace(regex, `<span style="color:red;">${item}</span>`);});// 需要正对于 < 符号的 浏览器不会渲染出<后面的,如<span style="color:red;">>123</span>,<span style="color:red;">外评级>AAA</span>,评级<AAA,这里<AAA就不会正常渲染let regex1 = /(?<!<span[^>]*)(<)(?![^>]*>)/g;  this.contentHtml = text.replace(regex1, '&lt;');  },}
};
</script>
<style scoped >
.addBox {position: relative;//父.editInput {font-size: 12px;}.editDiv {position: absolute;top: 0px;z-index: 99;background: transparent;}//和textarea样式一样,才能无感.textareaClas {pointer-events: none;resize: vertical;height: 65px;padding: 5px 15px;box-sizing: border-box;width: 100%;color: #606266 !important;background-image: none;border: 1px solid #DCDFE6;letter-spacing: normal;word-spacing: normal;line-height: normal;text-transform: none;text-indent: 0px;text-shadow: none;display: block;text-align: start;appearance: auto;-webkit-rtl-ordering: logical;cursor: text;overflow-wrap: break-word;background-color: field;column-count: initial !important;font-size: 12px;border-radius: 4px;font-family: monospace;transition: border-color .2s cubic-bezier(.645, .045, .355, 1);&:hover,&:focus,&:focus-visible {border: 1px solid #40a9ff !important;}}[contenteditable]:focus {outline: none;}}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用过最佳的wordpress模板

西瓜红&#xff0c;作为一种充满活力和激情的颜色&#xff0c;总是能给人留下深刻的印象。当这种鲜艳的色彩与经典的设计元素相结合时&#xff0c;就能打造出一款既时尚又实用的WordPress企业模板。今天&#xff0c;我们向您隆重推荐这款西瓜红经典配色WordPress企业模板。 这…

User Agent 解析:它是什么以及工作原理

什么是User Agent? UserAgent&#xff0c;简称UA&#xff0c;是一个使服务器能够识别用户使用的浏览器类型、版本以及运行浏览器的操作系统等信息的字符串。它作为浏览器请求头部信息的一部分发送给服务器&#xff0c;以便服务器可以返回合适格式和版本的内容。 跟Cookie一样…

proteus+stm32+CubeMX+dht11+lcd1602

浅浅记录下过程遇到的问题&#x1f921;&#x1f921;&#x1f921; 1 供电网配置错误&#xff08;加上就好了 新起个名也会出这个 / 电源不起名 不创建估计项目也会&#xff09;没zet6的 proteus 里 固件库 账号注册半天没成 就用的stm32F103R6的然后发现单片机不输出高低电平…

阿里云服务器开放端口的最最最正确的方法

今天&#xff0c;我突然发现阿里云服务器端口无法访问ElasticSearch了&#xff0c;嗯&#xff1f;&#xff1f;&#xff1f;肿么回事&#xff0c;搜遍了全网&#xff0c;终于在我身心俱疲后找到了原因&#xff1a; 现在我来总结一下出现这种问题的原因以及解决步骤 &#xff1a…

电机入门1

文章目录 122.12.22.3 33.13.23.33.4 1 2 2.1 电机板 驱动板电机分类 驱动器分类 转速 转向扭矩定时器 ADC 2.2 PID 自动控制 的核心闭环控制算是 PID的应用 2.3 无刷电机用的 可大大提高其控制效率 和控制精度 3 开发板的IO 电流太小了 20~25ma 电机要A 驱动板 信号放大没舵…

守护人类健康:人工智能赋能医疗领域创新应用

常言道&#xff0c;“如果说人生是一场漫长的马拉松&#xff0c;那么健康将是决定跑道长度的关键因素。”健康是幸福生活和社会发展的基石。随着智能化时代的到来&#xff0c;人工智能技术在医疗健康领域的应用也日益广泛&#xff0c;成为了维护和促进人类健康的新工具。无论是…

《汇编语言》- 读书笔记 - 综合研究

《汇编语言》- 读书笔记 - 综合研究 研究试验 1 搭建一个精简的 C 语言开发环境1. 下载2. 配置3. 编译4. 连接 研究试验 2 使用寄存器1. 编一个程序 ur1.c &#xff08; tcc 用法&#xff09;tcc 编译连接多个源文件tlink 手动连接 2.用 Debug 加载 ur1.exe&#xff0c;用u命令…

什么是prettier的glob 模式

什么是prettier的glob 模式&#xff1f; Prettier 使用 glob 模式&#xff08;或称 glob patterns&#xff09;来指定需要格式化的文件集。Glob 模式是一种简洁的字符串表达式&#xff0c;用于匹配一组符合特定规则的文件路径。这种模式广泛应用于各种文件查找、过滤和操作场景…

如何在现场电脑是部署onnx模型

调整版本为Release x64&#xff08;关键&#xff09;并配置好CUDA和CUDNN。 注意&#xff1a;Release | x64是基类主配置&#xff0c;包含目录下有编译器的一些链接库 以及一些库目录&#xff1a; 以及附加依赖项&#xff1a; msvcprt.lib kernel32.lib user32.lib gdi32.l…

C#Lazy 实现延迟加载详解与示例

在C#中&#xff0c;Lazy< T> 类是一个非常有用的工具&#xff0c;它可以用于延迟加载值&#xff0c;尤其是在创建对象时可能很昂贵&#xff0c;或者你想要延迟初始化直到真正需要该值的情况下。在本文中&#xff0c;我们将详细介绍 Lazy< T> 的实现机制和用法&…

代码随想录算法训练营day40

题目&#xff1a;343. 整数拆分、96.不同的二叉搜索树 参考链接&#xff1a;代码随想录 343. 整数拆分 思路&#xff1a;五部曲来走。dp数组&#xff0c;dp[i]用于记录拆i得到的最大乘积和&#xff0c;我们要求的也就是dp[n]&#xff1b;递推公式&#xff0c;我们想拆分i&am…

ZooKeeper集群的搭建

ZooKeeper集群的搭建 将master节点的/data目录下的ZooKeeper安装包解压到/opt/software目录下 tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/software/在master节点切换至ZooKeeper安装目录的conf目录下&#xff0c;将zoo_sample.cfg重命名为zoo.cfg&#xff0c;并…

设计模式-创建型模式-工厂模式

工厂模式是一种用来创建对象的模式&#xff0c;它将对象的创建和使用分离开来&#xff0c;使得代码更加灵活和可扩展。 下面代码中CarFactory是一个工厂类&#xff0c;它根据传入的参数来创建不同类型的Car对象。通过工厂模式&#xff0c;在不改变客户端代码的情况下轻松地添加…

OpenHarmony语言基础类库【@ohos.util.LinkedList (线性容器LinkedList)】

LinkedList底层通过双向链表实现&#xff0c;双向链表的每个节点都包含对前一个元素和后一个元素的引用。当需要查询元素时&#xff0c;可以从头遍历&#xff0c;也可以从尾部遍历&#xff0c;插入、删除效率高&#xff0c;查询效率低。LinkedList允许元素为null。 LinkedList…

基于Springboot的点餐平台

基于SpringbootVue的点餐平台的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页展示 菜品信息 菜品资讯 购物车 后台登录 用户管理 菜品分类管理 菜品信息管理 …

#ESP32S3N8R8(按键点灯)

一、按键对应端口为GPIO0&#xff08;上拉&#xff09; 二、代码 #include <stdio.h> #include "driver/gpio.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "unistd.h"void app_main(void) {int co…

synchronized和lock区别以及volatile和synchronized的区别

lock和synchronized区别&#xff1a; Lock是一个接口&#xff0c;而synchronized是Java中的关键字&#xff0c;synchronized是内置的语言实现&#xff1b; synchronized在发生异常时&#xff0c;会自动释放线程占有的锁&#xff0c;因此不会导致死锁现象发生&#xff1b;而Loc…

YOLOv8 实现车牌检测,生成可视化检测视频(20240424)

原项目源码地址&#xff1a;GitHub 我的源码地址&#xff1a;Gitee 环境搭建请参考&#xff1a;Win10 搭建 YOLOv8 运行环境&#xff08;20240423&#xff09;-CSDN博客 环境测试请参考&#xff1a;本地运行测试 YOLOv8&#xff08;20240423&#xff09;-CSDN博客 训练数据…

【java数据结构-优先级队列向下调整Topk问题,堆的常用的接口详解】

&#x1f308;个人主页&#xff1a;努力学编程’ ⛅个人推荐&#xff1a;基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构&#xff0c;刷题刻不容缓&#xff1a;点击一起刷题 &#x1f319;心灵鸡汤&#xff1a;总有人要赢&#xff0c;为什么不能是我呢 …

OpenHarmony实战开发-媒体查询 (@ohos.mediaquery)

概述 媒体查询作为响应式设计的核心&#xff0c;在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景&#xff1a; 针对设备和应用的属性信息&#xff08;比如显示区域、深浅色、分辨率&#xff09;&#xff0…