npm 包 react-mentions-exported-utils 使用教程

1. 背景

react-mentions-exported-utils 是一个用于 React.js 的 npm 包,可以用于在页面元素中实现 @ 提及功能。它提供了一些使用方便的工具函数和组件,可以在项目中使用,方便快捷地实现 @ 提及功能。

在实际项目开发中,实现 @ 提及功能是很常见的需求,比如在社交网络、博客等网站中,用户可以在评论中 @ 提及其他用户,对方会收到通知。此时,需要实现一个完善的 @ 提及功能,包括搜索用户、显示搜索结果、选中用户等功能,这些功能非常复杂,需要开发者花费大量的时间和精力来实现。因此,使用 react-mentions-exported-utils 可以大大地减少项目开发的工作量,并提高开发效率。

2. 安装

要使用 react-mentions-exported-utils,需要先安装它。可以在项目根目录下使用以下命令进行安装:

--- ------- ----------------------------- ------

3. 使用教程

3.1. 工具函数

react-mentions-exported-utils 中提供了一些方便的工具函数,可以用于实现 @ 提及的功能。

1. getIndexOfLastMention

getIndexOfLastMention 函数可以用于获取字符串中最后一个 @ 字符的位置。

------ - --------------------- - ---- --------------------------------

----- --- - ------ ---------
----- ----- - ---------------------------  -- -

2. getSubstringFromIndex

getSubstringFromIndex 函数可以用于获取指定位置之后的子串。

------ - --------------------- - ---- --------------------------------

----- --- - ------ ---------
----- ----- - ---------------------------
----- ------ - -------------------------- -------  -- ---------

3. getSubstringUntilIndex

getSubstringUntilIndex 函数可以用于获取指定位置之前的子串。

------ - ---------------------- - ---- --------------------------------

----- --- - ------ ---------
----- ----- - ---------------------------
----- ------ - --------------------------- -------  -- ------ -

4. getKeyword

getKeyword 函数可以用于从字符串中提取关键词。

------ - ---------- - ---- --------------------------------

----- ------- - ----------------------  -- -------

5. getPlainString

getPlainString 函数可以用于从字符串中去除 @ 符号,并返回纯文本。

------ - -------------- - ---- --------------------------------

----- ----- - --------------------- ----------
-------------------  -- ------ -------

3.2. 组件

除了工具函数,react-mentions-exported-utils 还提供了一些便于实现 @ 提及功能的组件。

1. MentionsInput

MentionsInput 组件用于显示一个输入框,支持用户在输入过程中输入 @ 符号,并在输入框下方显示匹配搜索结果。

------ - -------------- ------- - ---- --------------------------------

-------- ------------- -
  ------ -
    ---------------
      -------- ----------- --------------- --------- ---------- --
    ----------------
  --
-

在上面的代码中,MentionsInput 组件创建了一个输入框,Mention 组件作为其子组件,用于指定需要匹配的字符串、触发字符和搜索结果。

2. Mention

Mention 组件用于指定需要匹配的字符串、触发字符和搜索结果。

------ - -------------- ------- - ---- --------------------------------

-------- ------------- -
  ------ -
    ---------------
      -------- ----------- --------------- --------- ---------- --
    ----------------
  --
-

在上面的代码中,Mention 组件指定了触发字符为 @,并指定了需要匹配的字符串数组。

3.3. 示例代码

下面是一个完整的示例代码,用于演示如何在 React.js 项目中使用 react-mentions-exported-utils 实现 @ 提及功能:

------ ------ - -------- - ---- --------
------ -
  --------------
  --------
  -----------
- ---- --------------------------------

-------- ---------- -
  ----- ------- --------- - -------------

  ----- ------------ - ----- ------ -- -
    ----------------
  --

  ----- ------------ - ----- -- -
    ---------------------
    ----- ------- - ------------------
    -----------------------------
  --

  ------ -
    -----
      ----- ------------------------
        -------------- ------------- ------------------------
          -------- ----------- --------------- --------- ---------- --
        ----------------
        ------- -------------------------
      -------
    ------
  --
-

------ ------- ----

在上面的代码中,我们创建了一个包含一个输入框和一个提交按钮的表单。在输入框中,我们使用 MentionsInput 组件和 Mention 组件来实现 @ 提及功能。在 handleSubmit 函数中,我们使用 getKeyword 函数从输入框的值中获取关键词,并在 alert 中显示。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065f93238a385564ab7029


猜你喜欢

  • npm 包 @souct/countdown 使用教程

    简介 倒计时(countdown)在前端开发中应用非常广泛,例如秒杀、抢购、倒计时活动等等。@souct/countdown 是一款基于 JavaScript 打造的倒计时组件,可以快速实现倒计时功能...

    3 年前
  • npm 包 deeply-freeze 使用教程

    在前端开发中,经常会遇到需要对 JavaScript 对象进行深度冻结(Deep Freeze)的情况。JavaScript 对象的深度冻结可以保护对象的数据完整性,防止对象被修改。

    3 年前
  • npm 包 eslint-config-wslfx 使用教程

    在前端开发中,保持代码质量和可读性非常重要。其中一个实现方式是使用 ESLint 来检查和规范 JavaScript 代码。而使用一个公共的 ESLint 配置可以让团队在开发过程中保持一致性。

    3 年前
  • npm 包 find-newer-docker-image 使用教程

    前言 随着 Docker 技术的流行,越来越多的企业开始使用 Docker 部署他们的应用程序。但是,在使用 Docker 部署应用程序的过程中,我们经常需要查找新的 Docker 镜像,并且需要把镜...

    3 年前
  • npm包remisa使用教程

    在前端开发中,我们经常需要使用一些实用的工具来帮助我们提高开发效率。其中,npm 包remisa就是一个非常实用的工具,它可以帮助我们轻松地实现响应式设计。本文将介绍npm包remisa的使用方法,帮...

    3 年前
  • npm 包 arisenjs-api 使用教程

    前言 Arisen 是一个全球性的区块链应用,ArisenJS-API 是 Arisen 区块链 JavaScript 库中的一个 API,它可以让前端开发人员通过 JavaScript 与 Aris...

    3 年前
  • npm包mab-graphql-query-assembler使用教程

    前言 在开发现代web应用的过程中,GraphQL成为了越来越流行的API查询语言。然而,手动创建GraphQL查询往往需要编写大量的文本,并且容易出错。现在有许多npm包能够帮助我们生成GraphQ...

    3 年前
  • npm 包 haidict 使用教程

    简介 haidict 是一个基于 Node.js 的英汉双解词典,提供了中英文单词的查询、翻译和发音等功能,适用于前端和后端工程师开发英语学习相关的应用程序。 安装 在 Node.js 的命令行窗口中...

    3 年前
  • npm 包 common-data-utils 使用教程

    在前端开发中,我们经常会涉及到处理数据的操作,比如格式化日期、计算数组元素之和等常见的操作。为了提高代码的可复用性,我们可以使用 npm 包来帮助我们处理这些常见的数据操作。

    3 年前
  • npm 包 dg-form-validator 使用教程

    简介 dg-form-validator 是一款针对前端表单数据校验的 npm 包,支持常见数据类型的校验和自定义校验规则。在前端项目中,表单数据校验是常见需求,dg-form-validator 可...

    3 年前
  • npm 包 pedograph 使用教程

    什么是 pedograph Pedograph 是一款基于 D3.js 构建的 JavaScript 库,可以用来创建各种类型的网络图形。它非常适合用于可视化大型复杂的关系网络数据。

    3 年前
  • npm 包 framerate-optimizer 使用教程

    在前端开发中,动画效果的流畅度是一个很重要的指标。如果动画效果不流畅,会影响用户体验。而 framerate-optimizer 就是一个可以优化动画帧率的 npm 包。

    3 年前
  • npm 包 actions-tools 使用教程

    什么是 actions-tools actions-tools 是一个 npm 包,提供了一系列精简、高效的命令行工具,方便开发者在 GitHub Actions 中使用。

    3 年前
  • npm 包 irkfdb-node-client 使用教程

    irkfdb-node-client 是一个基于 Node.js 的 npm 包,它提供了与 irkfdb.com 交互的 Node.js API。irkfdb.com 是一个提供翻译和注释 Java...

    3 年前
  • npm 包 freeman.gdpr.piicookieconsent 使用教程

    简介 在网站或应用中,如果需要收集用户的个人信息,需要遵循 GDPR 等相关条例,应该要在页面上提示用户并征得其同意。在这种情况下,可以使用 freeman.gdpr.piicookieconsent...

    3 年前
  • npm包freeman.gdpr.privacycookieconsent使用教程

    在网站开发中,满足用户隐私保护需求是十分重要的。为了更加便捷地实现这一需求,我们可以通过npm包安装freeman.gdpr.privacycookieconsent来实现。

    3 年前
  • npm 包 node-red-contrib-convert 使用教程

    node-red-contrib-convert 是一个方便的 npm 包,它可以帮助前端开发人员快速地进行各种数据格式之间的转换。本篇文章将为大家详细介绍如何使用这个 npm 包。

    3 年前
  • npm 包 @agilatech/lynxari-timer-application 使用教程

    介绍 @agilatech/lynxari-timer-application 是一个基于 Node.js 的 npm 包,用于进行 Lynxari 系统的计时应用程序开发。

    3 年前
  • npm 包 jaybe78-babel-changed 使用教程

    在前端开发中,我们经常需要将 ES6 代码转换成 ES5 代码,以兼容更多的浏览器和环境。而 babel 是最常用的工具之一。我们可以自己配置 babel,使用 babel-cli 进行转换,也可以使...

    3 年前
  • npm 包 justows.conn.log.zeromq 使用教程

    简介 npm包 justows.conn.log.zeromq是一款用于Node.js平台的工具,用于将日志数据发送到ZeroMQ消息队列的工具。使用该工具,用户可以将日志数据发送到任何使用ZeroM...

    3 年前

相关推荐

    暂无文章