npm 包 ng2-bootstrap-typeahead-mod 使用教程

阅读时长 8 分钟读完

ng2-bootstrap-typeahead-mod 是一个基于 Angular2 构建的自动完成控件。它使用 Bootstrap4 中的 Typeahead 组件并增强了很多功能,可以帮助我们更加方便地实现输入提示查询、数据绑定、异步数据加载等功能,而不用耗费过多的时间和精力去开发自己的自动完成控件。

安装

我们可以通过 npm 来安装 ng2-bootstrap-typeahead-mod,使用如下命令:

同时,我们还需要安装相关的依赖:

引用

在项目中引入 ng2-bootstrap-typeahead-mod 时,我们需要引用以下几个文件(需要在 index.html 文件中添加):

示例代码

下面是一个使用 ng2-bootstrap-typeahead-mod 的示例代码:

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

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

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

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

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

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

-

数据源

ng2-bootstrap-typeahead-mod 的数据源可以是任何类型的数据,如字符串数组、对象数组等。我们在定义数据源时,需要使用 Observable。Observable 是一种提供基于异步流 API 的数据类型,它会将异步流看作数据源,通过订阅和观察这个数据流,我们可以在其上面进行各种操作,比如过滤、转换、合并等。

过滤数据

ng2-bootstrap-typeahead-mod 提供了过滤数据的功能,我们可以自定义过滤规则来实现输入内容的模糊匹配。我们可以通过实现 Observable 中的 map 运算符来实现这个功能。下面是一个示例代码:

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

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

选中事件

当用户选中某个选项时,我们可以通过 typeaheadOnSelect 事件来获取该选项的值,并赋值给 selected 变量,示例如下:

总结

通过本篇文章的学习,我们可以掌握 npm 包 ng2-bootstrap-typeahead-mod 的使用方法,并能够实现输入提示查询、数据绑定、异步数据加载等功能,可以帮助我们更加方便地开发自己的自动完成控件。希望本篇文章对于初学者们有一定的指导作用。

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

纠错
反馈