首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我在输入文本中键入@时,它应该在react中以不同的颜色显示

当在输入文本中键入@时,可以通过在React中使用CSS样式来实现以不同的颜色显示。

首先,需要在React组件中监听输入文本的变化。可以使用React的useState钩子来保存输入文本的值,并使用onChange事件处理程序来更新输入文本的值。

接下来,可以使用正则表达式来匹配输入文本中的@符号。可以使用String的match方法来查找所有匹配的@符号,并将其存储在一个数组中。

然后,可以使用React的map方法遍历匹配的@符号数组,并为每个@符号创建一个带有不同颜色的span元素。可以使用内联样式或CSS类来设置不同的颜色。

最后,将带有不同颜色的span元素和其他文本内容一起渲染到React组件中。

以下是一个示例代码:

代码语言:txt
复制
import React, { useState } from 'react';

const TextEditor = () => {
  const [text, setText] = useState('');

  const handleTextChange = (event) => {
    setText(event.target.value);
  };

  const renderColoredText = () => {
    const regex = /@/g;
    const matches = text.match(regex);

    if (matches) {
      return text.split(regex).map((part, index) => (
        <React.Fragment key={index}>
          {part}
          {index !== matches.length && (
            <span style={{ color: 'red' }}>@</span>
          )}
        </React.Fragment>
      ));
    }

    return text;
  };

  return (
    <div>
      <textarea value={text} onChange={handleTextChange} />
      <div>{renderColoredText()}</div>
    </div>
  );
};

export default TextEditor;

在上述示例中,我们创建了一个名为TextEditor的React组件。它包含一个textarea元素用于输入文本,并通过handleTextChange事件处理程序更新输入文本的值。在renderColoredText函数中,我们使用正则表达式匹配输入文本中的@符号,并将其拆分为多个部分。对于每个部分,我们渲染文本内容,并在@符号后面渲染一个带有红色颜色的span元素。最后,我们将渲染的文本内容显示在div元素中。

这是一个简单的实现,你可以根据需要进行修改和扩展。对于更复杂的需求,你可能需要使用更高级的文本处理库或组件来实现更精细的控制和样式。

相关搜索:当我在输入值中键入时,我希望该输入值在span标记中显示为我键入的文本内容当我在React中向输入标记写入文本时,为什么我的文本没有更改在react-native中的文本输入字段之前显示文本为在textInput react native中输入的文本添加背景颜色当我在angular 6的输入标签中输入一些文本时,如何改变发送按钮的颜色?要在react native中单击按钮时显示不同的颜色进行查看如何检测前缀编号以在js树中显示不同的颜色?在css的div中,将颜色和文本放在单词的顶部以隐藏它,然后单击显示隐藏的文本当我在UITextField中输入文本时,整个视图的位置会上移在IE/Firefox Mobile和Firefox Desktop中显示不同颜色的文本(!)如何在react native中显示特定细节的不同颜色/文本inn平面列表?当我尝试在c++中写入wav时,它显示损坏的文件在角度2中具有不同显示文本和值的输入文本元素当我在表单元素中传递表单时,为什么onSubmit不提交表单。但当我在React中的button元素中传递它时,它确实提交了每次在react native中编辑文本输入字段时,都会显示警报提示当我们在文本框中输入pincode时,如何编写一个react代码来显示PIN码中的所有位置?javascript中的NaN在使用文本输入字段求和时显示当我选中一个项目时,在吐司中显示,但我希望当我选中多个项目时,它在吐司中显示它的名称当我在AlertViewController中输入空的AlertView文本字段时,不应关闭iOS使用bootstrap 4在IE 11中填充输入类型文本不显示占位符和键入的文本
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

React技巧之设置input值

~ 总览 在React中,通过按钮点击设置输入框的值: 声明一个state变量,用于跟踪输入控件的值。...我们在控件上设置了onChange属性,因此每当控件的值有更新时,handleChange函数就会被调用。 在handleChange函数中,当用户键入时,我们更新了输入控件的状态。...如果你需要清除输入控件的值,把它设置为空字符串。 或者,你也可以使用不受控制的输入控件。...当我们为元素传递ref属性时,比如说, ,React将ref对象的.current属性设置为相应的DOM节点。...你不应该在一个不受控制的input(一个没有onChange处理函数的输入控件)上设置value属性,因为这将使输入控件不可变,你将无法在其中键入。

2K10

3个用于从命令行进行演示的工具【Linux-Command line】

让我们看看其中的三个。 mdp 可见我自己像Markdown一样,当我听说mdp时,我选择尝试它。 你可以在文本编辑器中创建幻灯片,并使用Markdown修饰文本。...它避开了Markdown自己的格式。 格式很简单,它非常精炼简洁,并提供了一些有趣且有用的惊喜。 使用破折号表示大多数格式。 你可以在幻灯片文件的顶部添加元数据块,以创建演示文稿的标题幻灯片。...我之前提到的那些有趣而有用的惊喜呢? 可以通过以下方式在幻灯片上的文本中添加色彩飞溅效果:输入“--color”,然后输入要使用的颜色的名称,例如红色。...与mpd和tpp一样,你可以在文本编辑器中以纯文本格式制作幻灯片。 已发送不使用标记,也没有特殊字符来指示新幻灯片的开始位置。 已发送假定每个新段落都是一张幻灯片。 不限于使用文字。...以下是幻灯片文件的摘录: 屏幕快照 2019-12-07 下午11.07.57.png 在终端窗口中键入发送的文件名来启动幻灯片。 打开的X11窗口进入全屏模式,并以尽可能大的字体显示文本。

2.3K00
  • React-利用React-Profiler提升应用性能

    有一个自动生成的数字列表 可以通过在文本框中输入的搜索词进行过滤 页面的整体结构 Filter/List import { Chance } from 'chance'; const chance =...收录开始后,进行一些页面操作,然后点击「红色」按钮停止信息收录 对于测试案例,在文本框中输入111,然后一个一个地删除数字(111->11->1->'')。 停止收录后,得到的结果如下。...展示单个组件的渲染信息 当你在某个图表区域中点击一个组件(放大它)时,「提交信息面板」会显示这个组件的细节。...由于我们在commit之间所做的只是过滤,我们会假设item被渲染一次,然后在过滤操作后从DOM中移除。这意味着ListItem不应该在过滤时被渲染两次。...然而,在第二次渲染时,当我们从数组中过滤掉一些值时,第一个item可能是不同的。

    2.1K10

    React 18 如何提升应用性能

    ❞ 当组件树被渲染时,无论是在初始渲染还是状态更新时,React 会在一个「不可中断的单一任务中渲染整个树」,之后将其提交到 DOM 中,以在屏幕上更新组件的可视化效果。...有一个文本输入框和一个包含大量城市的列表,列表根据文本输入框当前的值进行过滤。在同步渲染中,React 会在每次键入时重新渲染 CitiesList 组件。...这是一种非常昂贵的计算,因为列表包含成千上万个城市,因此在键入和在文本输入框中看到反映的过程中存在明显的视觉反馈延迟。...这是因为文本状态仍然同步更新,输入框使用该状态作为其值。 在「后台」,React 在每次输入时开始渲染新的组件树。...但是,与同步任务的all-or-nothing不同,React 开始在「内存中准备新版本的组件树,同时当前用户界面(显示“旧”状态)仍然对进一步的用户输入保持响应」。

    40530

    SwiftU:将状态绑定到UI控件

    但是,该代码不会编译,因为SwiftUI想知道文本字段中的文本存储位置。 请记住,视图是其状态的函数——文本输入框只能在反映存储在程序中的值时显示某些内容。...SwiftUI需要的是结构中的一个字符串属性,它可以显示在文本输入框中,还将存储用户在文本输入框中键入的任何内容。...但是,该代码仍然无法工作,因为Swift需要能够更新name属性以匹配用户在文本字段中键入的任何内容,因此您可以使用`@State``,如下所示: @State private var name = "...问题是Swift区分了“在此处显示此属性的值”和“在此处显示此属性的值,但将任何更改写回该属性” 在Swift中,我们用一个特殊的符号来标记这些双向绑定,这样它们就很显眼:我们在它们前面写一个美元符号$...这告诉Swift,它应该读取属性的值,但也应该在发生任何更改时将其写回。

    2.9K10

    VSCode 前端插件推荐

    开发综合推荐 插件名:别名路径跳转 使用说明: 别名路径跳转插件,支持任何项目, 使用场景: 当你在开发页面时, 想点击别名路径导入的组件时(演示如下) 配置说明 下载后只需自定义配置一些自己常用的别名路径即可...插件名:Vue 3 Snippets 基本必备:很多Vue的代码段,很方便开发 React 开发推荐 React Style Helper 插件名:React Style Helper 功能:在...插件名:vscode-styled-components 功能:在JS文件中写样式时,有智能提示 主题类 vscode-icons 插件名:vscode-icons VSCode文件夹...使用方法:选中行,Ctrl+Shift+p 输入 翻译 键入 ctrl+`再按下 ctrl+1 为翻译直接替换选中区域 功能:翻译识别代码中注释部分,不干扰阅读。...支持不同语言,单行、多行注释、 支持用户字符串与变量翻译,支持驼峰拆分 总结(附全部插件图片) 根据需求,大家安装对应插件即可(安装太多插件,VSCode会很卡) 当然电脑配置足够强大,当我没说

    1.7K40

    ITU-T-REC-G.1080-IPTV的体验质量(QoE)要求(三)

    虽然它可能会和视频及静止图像在同一块屏幕上呈现出来,但是它需要解码成特定的字体才能呈现给用户,无论是在屏幕上还是在纸上。文本通过键盘输入,输出可能是打印机或显示器。...• 从发送端字符输入到显示在接收端之间的延时不超过1s。 7.1.2.2 额外功能 用户可以通过编辑和演示功能实现对文字的控制,用户也可以在文本中插入图形、静止图片或动画。...7.1.2.3 各种视听服务的要求 当文本被用来支持会话型服务时,文本输入和显示的时间方面就至关重要。文本的传输和显示也许和输入是近乎实时的,也可能在特定的语句结束动作或发送请求后才得以传输。...对于检索服务,在一个操作中传输并显示一整页文本也是可接受的。...这一媒体组件允许将图形图片作为集合对象捕获并传输,它的位置、形状和颜色将得到编码,从而可以在远程终端上再次生成。

    96220

    优化 React APP 的 10 种方法

    我们有一个输入,可以count在键入任何内容时设置状态。 每当我们键入任何内容时,我们的应用程序组件都会重新渲染,从而导致该expFunc函数被调用。...它不应在第二个输入中再次运行,因为它与前一个输入相同,它应将结果存储在某个位置,然后在不运行函数(expFunc)的情况下将其返回。 在这里,我们将使用useMemo挂钩为我们优化expFunc。...在文本框中输入2并Click Me连续单击按钮,我们将看到ReactComponent将被重新渲染一次,并且永远不会被渲染。 它将上一个道具和状态对象的字段与下一个道具和状态对象的字段进行浅层比较。...呈现AppComponent时,将加载mycomponent.bc4567.js文件,并且包含的 MyComponent将显示在DOM上。 8....它在状态对象中具有数据。如果我们在输入文本框中输入一个值并按下Click Me按钮,则将呈现输入中的值。

    33.9K20

    28 个提升开发幸福度的 VsCode 插件

    这意味着它会实时运行你输入后的代码,并在编辑器中显示各种执行结果,建议亲自尝试一下。...image.png 安装此扩展后,可以按Ctrl / Cmd(⌘)+ Shift + P显示编辑器的命令选项板,然后键入 Quokka 以查看可用命令的列表。...彩虹缩进 (indent-rainbow) 缩进风格,这个扩展为文本前面的缩进着色,在每个步骤中交替使用四种不同的颜色。...自定义标题栏 这是一个很棒的视觉调整,改变了不同项目的标题栏颜色,以便轻松识别它们。...在你输入代码时,它将立即运行你的代码,并在代码编辑器中显示各种执行结果。 image.png Quokka 的一个很棒的扩展插件,当你准备技术面试时,你可以输出每个步骤,而不必在调试器中设置断点。

    9.7K30

    2022,VSCode 前端插件推荐

    ,可以预测你将要写的代码进行提示 Template String Converter 插件名:Template String Converter 功能:在字符串中输入$触发,将字符串转换为模板字符串...基本必备:很多Vue的代码段,很方便开发 React 开发推荐 React Style Helper 插件名:React Style Helper 功能:在React中更快速地编写内联样式,并对 CSS...CSS属性的初始值,当光标停留在css属性时 画板作图 插件名:Draw.io Integration 功能:在VSCode中画图,支持多人协作编辑图表.....Option 的属性,挺强大的 翻译插件 插件名:A-super-translate 使用方法:选中行,Ctrl+Shift+p 输入 翻译 键入 ctrl+`再按下 ctrl+1 为翻译直接替换选中区域...支持不同语言,单行、多行注释、 支持用户字符串与变量翻译,支持驼峰拆分 总结(附全部插件图片) 根据需求,大家安装对应插件即可(安装太多插件,VSCode会很卡) 当然电脑配置足够强大,当我没说

    1.2K10

    27 个实用的 Visual Studio Code 扩展插件,让我们的工作效率翻倍

    它支持多种语言,并允许开发人员定义他们计划在代码中使用的不同括号的颜色。默认情况下,()、{} 和 [] 是匹配的,但可以使用他们喜欢的其他括号字符,甚至可以定义它们的颜色。...孔雀的显着特征之一是它的适应性。您可以更改用于每个标准的颜色,甚至可以设计您自己的配色方案。这使您可以根据自己的喜好定制界面,并区分不同类型的文件和项目。...总而言之,它简化了容器的创建和管理,使在实时环境中测试和部署代码变得简单。...它为所有类型的 JavaScript 项目提供全面的调试体验。 21、Code Spell Checker 使用代码拼写检查器 VS 代码扩展避免拼写错误。它只是在您键入时突出显示任何拼写错误。...内置 CSS 颜色预览器:如果您在复杂的配色方案中苦苦挣扎,或者在微调网站颜色时感到迷茫,这个功能可以帮上忙。它在您的 CSS 颜色代码中显示颜色预览。

    63620

    使用 Linux 自动化工具提高生产率

    “ 短语(Phrases)” 代表要让 AutoKey 输入的文本。...对配置满意后,你可能希望在登录时自动运行 AutoKey,这样就不必每次都启动它。...通过高亮选择短语 “grep”,然后在 输入短语内容(Enter phrase contents)部分(替换默认的 “Enter phrase contents” 文本)中输入 “grep” ,配置...例如,我在浏览器,集成开发环境和终端中输入的另一个常见打字错误 “openshfit” 替代为 “openshift”。别名不能完全解决此问题,而 AutoKey 可以在任何情况下纠正它。...每当我按下该热键时,它都会打开一个菜单,我可以在其中选择(要么使用 “方向键”+回车键要么使用数字)要插入的短语。这减少了我仅需几次击键就可以输入这些命令的击键次数。

    2.1K30

    【分享】每个 Web 开发者在 2021 年必须拥有 15 个 VSCode 扩展

    当我们使用 TypeScript 时,这个扩展就派上用场了。它通过一个名为 “灯泡” 的功能对你的导入文件进行分类和组织,并修复编码错误。 4....itemName=CoenraadS.bracket-pair-colorizer 这个扩展允许匹配的括号被识别的颜色。 当你在调试过程中处理一个巨大的代码库时,这个扩展就像救星一样。...当你想快速构建新项目时,这可能会有帮助。它没有键入全部代码,而是为最常见的 JavaScript 函数预定义了许多代码片段。它支持 TypeScript、React、Vue 和 HTML。...它允许您为不同类型的注释提供不同的颜色代码,这些注释可以是 TODOs、高亮显示、警报和其他类型的注释。 这是强烈推荐的,用于编写干净和文档化的代码。 14....itemName=jasonnutter.search-node-modules 当我们构建组件库并在不同的应用程序中使用该组件时,我们肯定会对节点模块进行一些修改。

    1.6K10

    less(1) command

    警告:使用该选项后不能保证终端能够正常的显示文件内容,因为终端依赖控制字符来格式化文件内容 -R, --RAW-CONTROL-CHARS 与 -r 类似,但只有 ANSI颜色转义序列以原始形式输出。...这允许在选项字符串中包含美元符号 -- 该选项标识命令行选项的结束,之后的参数被解释为文件名,当在文件名的首字符是 - 或这 + 时需要使用该选项 + 如果命令行选项以 + 开头,则将该选项的其余部分视为初始命令...n 检查下 N 个文件(从命令行中给定的文件列表);N 默认为 1,可以在键入命令前输入 N :p 检查前 N 个文件(从命令行中给定的文件列表);N 默认为 1,可以在键入命令前输入 N :x...,包括它的名称、行号和显示底线的字节偏移量。...或换行(当前屏幕的内容) s FILENAME 将输入保存到文件中。这只在输入是管道而不是普通文件时才有效 如此繁多的交互式命令,常用的并不多,符合二八定律,记住下面这些命令足以应对日常浏览需求。

    23130

    27 个实用的 Visual Studio Code 扩展插件,让工作效率翻倍

    它支持多种语言,并允许开发人员定义他们计划在代码中使用的不同括号的颜色。默认情况下,()、{} 和 [] 是匹配的,但可以使用他们喜欢的其他括号字符,甚至可以定义它们的颜色。...孔雀的显着特征之一是它的适应性。您可以更改用于每个标准的颜色,甚至可以设计您自己的配色方案。这使您可以根据自己的喜好定制界面,并区分不同类型的文件和项目。...总而言之,它简化了容器的创建和管理,使在实时环境中测试和部署代码变得简单。...它为所有类型的 JavaScript 项目提供全面的调试体验。 21、Code Spell Checker 使用代码拼写检查器 VS 代码扩展避免拼写错误。它只是在您键入时突出显示任何拼写错误。...内置 CSS 颜色预览器:如果您在复杂的配色方案中苦苦挣扎,或者在微调网站颜色时感到迷茫,这个功能可以帮上忙。它在您的 CSS 颜色代码中显示颜色预览。

    17.1K40

    ​如何在Linux中使用grep命令?

    我们可以使用grep搜索文件中的文本模式,另一方面,可以使用find命令在linux OS中搜索文件。除此之外,我们还可以使用grep命令过滤搜索结果以捕获特定的文本字符串、单词或数字。...如果在您所在位置的文件内搜索文本,则可以使用相对路径。但是,如果要在其他位置的文件中搜索文本,则必须使用绝对路径。 要搜索单词短语时,请记住使用“”or“”。...紫色:文件名 白色:包含我们的关键字(这次是ubuntu) 红色:关键字 因此,当我们在多个文件中进行搜索时,通常grep命令会提供类似的输出。我们可以根据需要更改此输出,必须使用选项来做到这一点。...选项3:使用-l仅列出包含我们关键字的文件 ? 实际上,当我们在整个文件系统中搜索关键字时,上面的选项(-l)非常有用。 在简要讨论-l选项之前,我先介绍另一个选项。...重要提示–我们不仅可以使用grep命令搜索文件中的字符串模式,还可以从不同的命令输出中过滤特定的字符串模式。 1)显示所有磁盘详细信息 ? 2)检查syslog文件中的错误 ?

    3.1K41

    前端开发:这10个Chrome扩展你不得不知

    这个工具在识别和显示元素的CSS属性方面很有用。它包括一个浮动窗口,您可以把鼠标悬停在页面上任一元素上以查看它的所有CSS属性。您可以通过快捷键在CSSViewer的窗体中轻松复制您选定元素的样式。...您可以检查React组件的属性和状态,随意更改属性和状态,并查看所作的变化在组件树中的传递过程。 4. JSONView ? 浏览器通常不太擅长显示JSON数据。...数据通常以纯黑白的方式密集显示,这使得理解它非常困难,特别是您试图定位一个深度嵌套的属性时。 JSONView格式化和美化JSON数据。...ColorPick Eyedropper有一个浮动面板,它悬停在网页中的元素上方,显示元素的颜色。单击该元素会将所选元素的颜色复制到剪贴板。...在浏览网页时,通常吸引我眼球的是页面中正在使用的字体。当我对某个文字感兴趣想要查看其使用的字体时,我会下意识地单击鼠标右键以打开开发人员工具,查看它的源代码。但是,这样还是太繁琐了。

    2.4K10

    React Native组件篇(三) — TextInput组件

    TextInput是什么       文本输入框,相当于iOS中我们熟悉的UITextField,通过键盘输入并显示内容。       两者属性有很大相同之处,下面大家一起看一下。...placeholder 字符串型 在文本输入之前字符串将被呈现出来,通常被称为占位文字 placeholderTextColor 字符串型 占位符字符串的文本颜色 autoCapitalize enum...onBlur 函数 当文本输入是模糊的,调用回调函数 onChange 函数 当文本输入的文本发生变化时,调用回调函数 onFocus 函数 当输入的文本是聚焦状态时,调用回调函数 returnKeyType...授之以鱼不如授之以渔     组件篇的文章也写了三篇了,大家也知道了学习控件基本上就是学习他的属性及应用,那么我们去哪找控件的属性呢?    ...,TextInput在react-native 里面,那我们去找一下,看看可以找到不。

    2.2K20

    React技巧之表单提交获取input值

    ~ 总览 在React中,通过表单提交获得input的值: 在state变量中存储输入控件的值。...在form表单上设置onSubmit属性。 在handleSubmit函数中访问输入控件的值。...当我们为元素传递ref属性时,比如说, ,React将ref对象的.current属性设置为相应的DOM节点。...你不应该在一个不受控制的input(一个没有onChange处理函数的输入控件)上设置value属性,因为这将使输入控件不可变,你将无法在其中键入。...你不会经常看到这种方法,如果你不想在state中存储输入控件的值或使用ref对象,就可以使用这种方法。这主要是一种快速和不整洁的解决方案。 最常用的方法是将input值存储在state变量中。

    1.6K20
    领券