npm 包 @atlaskit/mention 使用教程

阅读时长 5 分钟读完

简介

@atlaskit/mention 是一个 React 的 npm 包,用于快速构建具有提及功能的文本输入框。在开发 Web 应用程序中,@mention 功能需要实现自动补全和实时搜索,这些功能通常比较复杂。因此使用 @atlaskit/mention 可以省去开发过程中很多烦琐的工作。

安装

使用 npmyarn 安装包:

使用

如果想在你的 React 组件中使用 @atlaskit/mention,你可以采用如下的使用方式:

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

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

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

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

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

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

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

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

------ ------- ----
展开代码

在上面的 handleMentionChange 函数中,用户在输入 @ 符号后,当输入完整的 username 时系统会自动将其转化为一个链接。比如当用户输入 @Tom 时,系统就会将其转化为一个格式为 <a href="/1">Tommy</a> 的文本。

Mention 组件中,包括以下常用的属性:

  • value:文本输入框的内容。
  • users:一个数组,其中包含用户的信息。这些信息可以是用户的名称、昵称、ID 等。
  • onChange:输入框内容变化时触发的回调函数。
  • onMentionChange:输入框中出现 @username 时触发的回调函数。
  • placeholder:输入框的提示文本。
  • 其他:Mention 还提供了其他一些属性和回调函数,这里仅列出常用的几个。

细节

@atlaskit/mention 有一些细节需要注意:

  1. users 应该是一个数组,其中包含用户的相关信息。通常情况下,此信息应该从后端获取。
  2. handleMentionChange 函数中,我们需要自行匹配 @username 的用户信息,如果没有找到对应的信息,则不执行任何操作。
  3. 在实际应用中,可以结合使用 CSS 样式和实际的用户数据来更好的展现用户信息。

总结

@atlaskit/mention 是一个方便开发的 npm 包,可以极大地简化开发中的 @mention 功能的实现。 在使用 @atlaskit/mention 时,需要注意一些细节。结合实际场景,配合合适的后端数据和 CSS 样式,@atlaskit/mention 可以更好的展现 @mention 的功能,提升用户体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f72c083a9b7065299ccbbc0

纠错
反馈

纠错反馈