npm 包 smart-autocomplete 使用教程

介绍

smart-autocomplete 是一个基于 jQuery 和 Handlebars 的自动补全插件,能够根据用户输入的内容实时搜索匹配的数据,并在下拉框中展示匹配结果,支持键盘上下键和回车键选中选项。它可以减轻用户在输入时的负担,提高交互效率,是一个很实用的组件。

该插件已经打包成 npm 包,可以通过 npm 下载到本地使用,本篇文章就来介绍它的使用方法。

安装

在终端中输入以下命令即可安装 smart-autocomplete:

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

使用

引入

  1. 在 HTML 中引入 jQuery 和 Handlebars:
---- ------ - --- ---
------- ----------------------------------------------------------------------------

---- ---------- - --- ---
------- ---------------------------------------------------------------------------------------
  1. 在 HTML 中引入 smart-autocomplete:
---- ------------------ --- ---
------- -----------------------------------------------------------------------------------

初始化

  1. 创建一个输入框:
------ ----------- ----------------------- --
  1. 设置插件的参数:
--- ------- - -
    ---- -------------- -- ---- -------- ---- -----
    ---------- ------- -- ----- ---
    ------------- -- -- ---------------
    --------- ---------- -- --------
--
  1. 初始化插件:
----------------------------------------------------

参数说明

smart-autocomplete 的参数如下:

参数 类型 默认值 描述
url string null 数据源的 URL,返回一个 json 格式的数组
data object null 手动传入的数据源,数据格式同 url
filterKey string 'name' 用于匹配的 key
maxShowItems number 5 下拉框中最多展示多少条匹配结果
delay number 200 用户输入结束后触发搜索的延迟时间,单位为毫秒
autoFocus boolean false 是否开启自动聚焦
template string '{{name}}' 自定义模板字符串,用于生成每个匹配结果的 HTML,可以使用 Handlebars 的语法习惯进行书写
displayKey string '' 自定义下拉框中每个选项显示的内容的 key
preLoad boolean false 是否在页面加载时就预先加载数据
hideOnNoResult boolean true 是否在没有匹配结果时隐藏下拉框

事件

smart-autocomplete 提供了 3 个事件供开发者使用:

事件名称 描述
beforeSearch 发起搜索前触发的事件
onSearchSuccess 搜索成功后触发的事件,参数为匹配结果的数组
onSearchError 搜索失败后触发的事件,参数为 jQuery 的 jqXHR 对象
onItemSelected 选中某个匹配结果时触发的事件,参数为选中结果的数据
onCustomRendered 定制渲染时触发的事件,参数为当前匹配结果的数据

示例代码

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

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

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

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

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

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

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

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

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

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

-------

拓展

smart-autocomplete 暂时只支持通过 URL 或手动传入数据源的方式获取数据。如果需要在使用时实时动态获取数据,可以通过监听输入框的输入事件,在用户输入结束后再查询并更新数据源,更新后需要手动更新界面。

同时,如果想丰富下拉框中每个选项的内容,可以自定义模板字符串,使用 Handlebars 的语法做出你想要的效果。另外,还可以通过自定义参数 displayKey 改变每个选项的显示内容。

结语

smart-autocomplete 是一个轻便实用的自动补全组件,通过学习本文,相信大家已经能掌握它的基本使用方法。如果需要更详细的说明,可以参考官方文档: https://github.com/l-lin/jquery-smart-autocomplete

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


猜你喜欢

  • npm 包 aquirejs 使用教程

    前言 随着前端技术的不断发展,现在的前端项目变得越来越复杂,对于前端的构建、打包、管理等方面的需求也愈发突出。而 npm,作为当前前端最为流行的包管理工具,为开发者提供了便捷的依赖管理方案。

    3 年前
  • npm 包 awilix-groa 使用教程

    前言 在前端开发中,我们常常需要使用许多第三方库和框架来提高项目的效率和质量。而包管理工具 npm 则是在这个过程中不可或缺的工具之一。awilix-groa 就是一个基于 npm 的依赖注入库,它可...

    3 年前
  • npm 包 djvalidator 使用教程

    简介 随着前端技术的不断发展,我们需要更加高效、可靠的工具来保证项目的代码质量。djvalidator 就是这样一个 npm 包,它通过提供一系列验证器来帮助开发者快速检查、纠正 JavaScript...

    3 年前
  • npm 包 node-red-contrib-pushover-inline-image 使用教程

    在前端开发中,推送通知是一个非常重要的功能。Node-RED 是一个基于 Node.js 的可视化编程工具,可以让开发者通过拖拽的方式连接各种输入输出节点,从而构建出复杂的数据流。

    3 年前
  • NPM 包 requiret 使用教程

    简介 在前端开发中,npm 是必不可少的工具之一,它可以方便开发者管理和使用依赖包。而 requiret 正是一个让开发者更加便捷地引入 Node.js 模块或者管理 Node.js 依赖包的工具。

    3 年前
  • npm 包 @yeutech-lab/rollup-umd-documentation-cli 使用教程

    前言 在前端开发中,我们经常需要把自己开发的 JavaScript 库发布成 npm 包,供其他开发者使用。一般情况下,我们将代码打包成 umd 格式的文件,以便在不同的环境下使用,例如在浏览器中直接...

    3 年前
  • npm 包 generator-node-express-typescript 使用教程

    什么是 generator-node-express-typescript generator-node-express-typescript 是一个 npm 包,它用于快速生成 TypeScript...

    3 年前
  • npm 包 loopback-sdk-builder-ny 使用教程

    在前端开发中,我们可能会使用一些后端框架提供的 RESTful API 接口来实现前端功能,例如使用 LoopBack 可以快速搭建 REST API 服务。但是在使用 LoopBack 提供的接口时...

    3 年前
  • npm包iota-generate-seed 使用教程

    前言 IOTA是一个开源的分布式账本技术,它主要解决了区块链的性能问题和隐私问题,是一个高性能、无手续费、隐私性好的分布式账本技术。iota-generate-seed是一个用于生成IOTA钱包种子(...

    3 年前
  • npm 包 package-eli5 使用教程

    前言 随着 JavaScript 技术的不断发展和变化,前端开发已经成为了现代 web 开发过程中的一个重要组成部分。在日常的前端开发中,我们经常需要使用一些 npm 包来解决开发中的问题。

    3 年前
  • npm 包 dynobase-components 使用教程

    概述 dynobase-components 是一个针对 AWS DynamoDB 的前端组件库,旨在简化基于 DynamoDB 构建应用程序的过程。它是一个开源 npm 包,由亚马逊公司维护。

    3 年前
  • npm 包 react-native-number-stepper 使用教程

    在 React Native 开发过程中,我们通常会遇到需要对数字进行加减的操作。如果想在应用中添加数字加减器,那么 react-native-number-stepper 就是你需要的 npm 包。

    3 年前
  • npm 包 redis-connection-no-auth 使用教程

    在前端领域中,使用 Redis 是非常常见的操作,而使用 npm 包 redis-connection-no-auth 可以简化 Redis 连接的过程,使得开发者能够更便捷的使用 Redis 的功能...

    3 年前
  • npm 包 console_apidoc 使用教程

    在前端开发中,文档的编写和管理是一项很重要的工作。而文档中的 API 内容更是基础和重要的部分,因为好的 API 设计能够反映出代码质量和开发者经验。因此,自动化生成 API 文档的工具也越来越受到开...

    3 年前
  • npm包 image-ghost-canvas 使用教程

    介绍 在前端开发中,处理图像是一个非常常见的任务。而image-ghost-canvas是一个非常方便的npm包,它提供了一种简单的方法可以在浏览器端对图像进行编辑并生成新的图像。

    3 年前
  • npm 包 oliveui-icons 使用教程

    npm 是 Node.js 的包管理工具,可以帮助前端工程师高效地管理依赖项。而 oliveui-icons 是一个十分有用的 npm 包,它提供了上千个图标,可以方便地用于前端开发中。

    3 年前
  • npm包redux-middleware-fsa-validator使用教程

    在React/Redux开发中,使用Redux Middleware可以有效地控制Action流,以便开发更加灵活和方便。本文将介绍一个非常有用的npm包,即redux-middleware-fsa-...

    3 年前
  • npm包backbone.state使用教程

    在前端开发中,我们经常需要管理用户的状态,比如记录用户已经登录、浏览器窗口是否聚焦、页面滚动位置等等。在这些情况下,我们可以使用backbone.state这个npm包来帮助我们更方便地管理状态。

    3 年前
  • npm 包 `crowdin-without-vulnerability` 使用教程

    简介 crowdin-without-vulnerability 是一款方便使用的 npm 包,用于在前端应用中使用 Crowdin 的 API,免去了需要手动处理 API 密钥的麻烦。

    3 年前
  • npm 包 egg-webpack-x 使用教程

    Egg.js 是一款基于 Node.js 和 Koa 框架的企业级 Web 应用开发框架。它提供了很多方便的功能,例如插件机制、中间件等等。我们在使用 Egg.js 开发项目时,可能会遇到前端部分打包...

    3 年前

相关推荐

    暂无文章