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