npm 包 react-tag-autocomplete 使用教程

在进行前端开发的过程中,我们经常需要使用一些第三方库来加速开发。其中,npm 是最常用的第三方库管理工具之一,而 react-tag-autocomplete 是一个高级的自动完成输入框组件,可以帮助我们更加便捷地开发输入框功能。

在本篇文章中,我们将详细介绍 npm 包 react-tag-autocomplete 的使用方法。我们将从环境安装、基本属性、事件响应与实战应用等方面,为大家全面阐述这个库的使用方法。

环境安装

首先,我们需要安装 react-tag-autocomplete。在使用之前,确保您的项目中已经集成了 React 以及其他必要的依赖库。您可以使用以下命令在 npm 中安装 react-tag-autocomplete:

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

接下来,您可以在您的代码中导入 react-tag-autocomplete:

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

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

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

在 import 中,我们导入了 Autocomplete 组件,该组件将渲染出一个输入框,该输入框可以添加标签,并通过标签名提示功能。

在这个示例中,我们初始化了一个 tags 状态,它包含了若干个标签。我们定义了两个回调函数 handleDelete 和 handleAddition。当用户移除一个标签时,系统将响应 handleDelete 函数,在这里我们使用了 splice 方法从 tags 数组中移除了对应的标签,并使用 setState 方法更新状态。当用户添加一个标签时,我们使用 spread 运算符将新的 tag 追加到 tags 数组中,并使用 setState 方法更新状态。

在 组件中,我们为它传递了以下几个属性:

  1. suggestions:输入框会显示这个属性中定义的所有选项;
  2. value:输入框中已经存在的值;
  3. onDelete:当用户删除标签时,系统将调用这个回调函数;
  4. onAddition:当用户添加标签时,系统将调用这个回调函数。

添加了这些属性后,我们已经成功渲染出了一个能够添加标签的输入框。

基本属性

我们已经可以看到如何使用 react-tag-autocomplete,并且了解了它的工作原理。接下来,我们将详细介绍该库的基本属性。

suggestions

suggestions 是一个必须传递的属性,用于指定所有选项。该属性应该是一个数组,每个元素必须具有 idname 属性。

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

value

value 属性指定输入框中的标签,它应该是一个数组,每个元素至少应该具有 idname 属性中的一个。

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

placeholder

placeholder 属性用于为输入框提供一个占位符。

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

noOptionsText

noOptionsText 属性用于指定没有可用选项时的文本。

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

additionalProps

additionalProps 属性可以传递一系列辅助参数。

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

additionalProps 包含 inputPropswrapperProps 两个属性。inputProps 用于为 <input> 元素添加属性,wrapperProps 用于为外层 <div> 元素添加属性。

事件响应

除了基本属性之外,我们还可以使用 react-tag-autocomplete 提供的事件,以响应用户输入。

onInput

onInput 事件相当于 <input> 元素的 onChange 事件。

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

onFocus

onFocus 事件相当于 <input> 元素的 onFocus 事件。

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

onBlur

onBlur 事件相当于 <input> 元素的 onBlur 事件。

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

onKeyDown

onKeyDown 事件相当于 <input> 元素的 onKeyDown 事件。

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

onKeyUp

onKeyUp 事件相当于 <input> 元素的 onKeyUp 事件。

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

实战应用

在实战中,我们可以使用 react-tag-autocomplete 来构建一个完整的标签输入框。

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

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

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

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

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

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

在这个示例中,我们项目中的 <Autocomplete> 组件已经支持从输入框中添加新的标签。当用户向输入框中输入文本时,我们会实时更新 text 的状态变量。如果用户在输入框中按下回车键,我们将使用 handleAddition 函数将其添加到标签列表中,并将新的 text 状态变量设置为空字符串。

我们还在 handleInputKeyDown 函数中支持了删除标签功能。如果用户在输入框中按下 Backspace 键,并且文本框中没有文字,则自动生成 handleDelete 函数,系统将删除标签列表中的最后一个标签。

通过这个示例,我们可以了解到 react-tag-autocomplete 在实际项目中的使用方法,并为大家提供了首个参考。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/the-react-tag-autocomplete


猜你喜欢

  • npm 包 @beisen-cmps/italent-feed-8 的使用教程

    前言 @beisen-cmps/italent-feed-8 是领英中国公司出品的一款前端组件库,其所包含的 italent-feed-8 组件主要用于显示人才推荐、招聘职位等内容。

    4 年前
  • npm 包 @beisen-cmps/italent-feed-7 使用教程

    @beisen-cmps/italent-feed-7 是一款前端开发中非常实用的 npm 包,旨在为用户提供一种方便、快捷的方式获取人才库中的相关信息。本文将介绍该 npm 包的使用教程,包括安装、...

    4 年前
  • npm 包 @beisen-cmps/italent-feed-4 使用教程

    前言 随着前端技术的发展和普及,我们已经不再限制于使用常规的 jQuery 和 JavaScript,而是可以使用各种优秀的 npm 包来解决我们的前端需求。 其中,@beisen-cmps/ital...

    4 年前
  • npm 包 ux-m-platform-modal 使用教程

    在前端开发中,模态框是一个非常常见的 UI 组件,可以用来展示弹出的信息、与用户进行交互等。为了方便开发者快速构建高质量的模态框组件,ux-m-platform-modal 这个 npm 包应运而生。

    4 年前
  • npm 包 rc-cropping 使用教程

    在前端开发中,处理图片是一个非常常见的需求。而一款实用的图片裁剪工具,可以提高我们的工作效率和用户体验。npm 包 rc-cropping 就是这样一款非常实用的图片裁剪工具。

    4 年前
  • npm 包 @beisen-platform/target-pop 使用教程

    @beisen-platform/target-pop 是一款前端 UI 组件,通过在页面上动态生成弹框,实现弹框提示功能。它提供了多种类型的弹框样式,并支持弹框内容自定义。

    4 年前
  • npm 包 shineout 使用教程

    什么是 shineout? shineout 是一个基于 React 的 UI 组件库,提供了一系列高质量的组件,包括按钮、表单、表格等等。它提供了丰富的主题配置,可以根据不同的项目需求,选择不同的主...

    4 年前
  • npm 包 italent-subordinate-tree 使用教程

    前言 italent-subordinate-tree 是一款 NPM 包,它提供了一种将员工关系树形化的解决方案。使用该包可以将员工之间的主管下属关系转化为树形结构进行展示,方便用户快速了解团队内部...

    4 年前
  • NPM 包 italent-share-box 使用教程

    什么是 italent-share-box? italent-share-box 是一个基于 React 的社交分享组件库。它提供了包括微信、QQ、微博、Facebook、Twitter 在内的多种社...

    4 年前
  • npm包@reacted/use-ajax-upload使用教程

    @reacted/use-ajax-upload 是一个 React Hooks 插件,可以轻松实现 AJAX 文件上传的功能。此插件使用简单,可以使用无需获取过多的 AJAX 细节,最适合初学者。

    4 年前
  • npm包@beisen/um-rich-editor使用教程

    前言 在前端开发中,富文本编辑器是大家经常使用的一个工具,它既方便了用户输入,又能让网页内容更加生动有趣。今天,我们来介绍一款基于UMEDITOR的富文本编辑器插件@beisen/um-rich-ed...

    4 年前
  • npm 包 @beisen/timeline-wrapper 使用教程

    前言 @beisen/timeline-wrapper 是一个以 Ant Design Timeline 为基础组件封装的,适用于非静态简单时间线的 React 组件。

    4 年前
  • npm 包 @beisen/ocean-tree 使用教程

    前言 在前端开发中,树形控件是非常常见的 UI 组件,可以用于展示层级关系、目录结构等。在实现树形控件时,我们通常需要考虑如何组织数据、如何渲染节点等问题。这时,npm 包 @beisen/ocean...

    4 年前
  • npm 包 @beisen/day-picker 使用教程

    什么是 @beisen/day-picker @beisen/day-picker 是一个基于 React 的日期选择组件,提供了丰富的日期选择功能。这个组件帮助开发者快速、方便地选择日期,同时也能够...

    4 年前
  • npm 包 @beisen-cmps/italent-feedlist-wrapper 使用教程

    在前端开发中,开发者需要使用不同的工具和技术来完成任务。其中,使用 npm 包是一种常见的方式,可以加快开发速度并提高开发效率。本文将介绍 npm 包 @beisen-cmps/italent-fee...

    4 年前
  • npm 包 @beisen-cmps/italent-feed-container 使用教程

    前言 在前端开发中,我们经常需要展示数据列表,而一个好的列表容器能够让我们的开发效率更高,让我们的前端页面看起来更加美观,在这篇文章中,我们将会讲解如何使用 npm 包 @beisen-cmps/it...

    4 年前
  • npm 包 react-scrollbar 使用教程

    简介 React Scrollbar 是一个基于 React 的滚动条组件,使用方便,具有高度的自定义性和可扩展性。在本文中,我们将学习如何使用 React Scrollbar 包,包括安装、配置和使...

    4 年前
  • npm 包 italent-icon 使用教程

    前言 在前端开发中,我们经常需要使用各种图标来设计网站或应用程序。为了便于使用,有很多现代化的方式来获取图标。其中,一种流行的方式是使用 npm 包。 在本文中,我们将介绍如何使用 npm 包 ita...

    4 年前
  • npm 包 @beisen/talentjs-ui 使用教程

    在前端开发中,我们经常使用各种第三方库来提高开发效率和代码质量。@beisen/talentjs-ui 是一个针对人才招聘领域开发的 UI 组件库,提供了丰富的组件和样式,能够方便快捷地构建招聘网站的...

    4 年前
  • npm 包 @beisen/user-selector 使用教程

    在前端开发过程中,用户选择器是很常用的一个组件。@beisen/user-selector 是一款方便易用的用户选择器组件,支持多选/单选,提供搜索功能,同时还支持自定义页面。

    4 年前

相关推荐

    暂无文章