npm 包 vue-autosuggest2 使用教程

简介

vue-autosuggest2 是一个非常优秀的基于 Vue.js 框架的自动提示库,使用方便且功能强大。大家在开发一些表单数据选择页面时,经常需要用户输入任意文字,再通过自动提示提供合适的选择项,这时候 vue-autosuggest2 就是非常好的选择了。

功能说明

vue-autosuggest2 目前的特性如下:

  • 支持向上/向下箭头控制选择项
  • 支持鼠标点击选择项
  • 支持多种自定义选项,例如下拉框的样式、查询接口等
  • 支持使用外部数据源,包括 js 对象/数组、url 等

安装

最简单的方法就是使用 npm 安装:

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

安装完毕后就可以直接在 Vue 组件中使用了。

使用

组件引入

首先我们需要引入 vue-autosuggest2 组件,可以通过 import 语句来引入:

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

可以选择性地引入样式文件:

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

组件配置

在 Vue 组件中,我们需要配置一些参数来启用 vue-autosuggest2。例如:

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

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

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

上面是一个最简单的 vue-autosuggest2 使用例子,我们只需要传递一个 options 数组和 value 值就可以自动完成提示了。可以通过 @input 和 @select 监听输入和选中事件。

深入理解

vue-autosuggest2 是一个非常优秀的自动提示库,我们可以通过深入掌握它的使用方式,为自己开发更好的自动提示相关功能打下基础。

Props

vue-autosuggest2 支持多个参数设置:

  • suggestions:自动提示的数据列表,其中每个对象需要包含 labelvalue 两个属性
  • value:当前输入框的值
  • placeholder:输入框的占位符
  • disabled:是否禁用输入框
  • loading:是否正在加载数据
  • no-results-text:没有数据时的提示文本
  • max-suggestions:最多显示的自动提示数量,默认为 10
  • min-length:输入框值的最小长度,低于该值则不触发自动提示,默认为 1
  • intercept-enter:在回车键(Enter)优先触发的事件,取值为 confirmselect-first,默认为 confirm
  • intercept-down-arrow:在按下向下箭头时优先触发的事件,取值为 select-firstnone,默认为 select-first
  • intercept-up-arrow:在按下向上箭头时优先触发的事件,取值为 select-lastnone,默认为 select-last
  • suggestion-template:自定义提示项的展示方式

事件

vue-autosuggest2 支持多个事件:

  • select:选中某一项时触发,会传递一个对象参数,包含 labelvalue 属性
  • input:输入框内容发生变化时触发,会传递当前输入框值
  • focus:输入框获得焦点时触发
  • blur:输入框失去焦点时触发
  • search:当需要进行自动提示时触发,会传递一个字符串参数

插槽

vue-autosuggest2 支持多个插槽:

  • suggestion:自定义提示项的展示方式
  • no-results:没有数据时的展示方式

自定义样式

vue-autosuggest2 提供了多个 CSS 类名来方便我们自定义样式。

  • .as2-container:整个组件的容器
  • .as2-input:输入框
  • .as2-suggestions:提示列表容器
  • .as2-suggestion:提示项的容器
  • .as2-selected:选中的提示项

以上类名可以通过添加样式文件或在组件中的 style 中自定义样式。

示例代码

以下是一个稍微复杂点的 vue-autosuggest2 使用示例,用了官网提供的一个小知识库 API 来完成自动提示。

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

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

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

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

以上代码实现了一个搜索关键字自动提示知识库的功能,其中用到了自定义提示项样式和自定义 no-results,可以作为大家学习 vue-autosuggest2 的一个参考。

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


猜你喜欢

  • NPM包ng-cookie使用教程

    在前端开发中,我们经常需要在浏览器的本地存储数据。ng-cookie是一个基于AngularJS框架的npm包,它为我们提供了简化Cookie操作的API。本文将介绍如何在AngularJS应用程序中...

    3 年前
  • npm 包 @oopscurity/react-spinjs 使用教程

    前言 在前端开发中,常常会遇到需要在页面中添加一些 Loading 动画的场景,以提示用户操作正在进行中,避免长时间的等待带来的焦虑感。@oopscurity/react-spinjs 包提供了一个方...

    3 年前
  • npm 包 markdown-it-prism-zhc 使用教程

    前言 在前端开发中,文档和博客的写作非常重要,而markdown已经成为大家普遍接受的标准。markdown-it是一个非常流行的markdown解析器,它支持很多的插件。

    3 年前
  • npm 包 observable-react 使用教程

    在前端开发过程中,往往需要使用到一些数据流管理工具,比如 RxJS 等。而 Observable React 是一个轻量级的状态管理库,采用了 RxJS 的架构,旨在提供更加简洁、易用的 API,专注...

    3 年前
  • npm 包 only-u 使用教程

    简介 only-u 是一个小巧且功能强大的 JavaScript 库,专为前端开发而设计,可以帮助开发人员更加便捷地完成常用的操作和功能。它提供了许多常用的工具和函数,如日期处理、字符串处理、数组操作...

    3 年前
  • npm 包 simplest-i18n 使用教程

    前端开发经常需要处理多语言的情况,而 npm 包 simplest-i18n 提供了一种方便且简单的方式来管理网站的多语言内容。本文将详细介绍 simplest-i18n 的使用方法,包括安装、配置以...

    3 年前
  • npm 包 @unwrittenfun/accesscontrol 使用教程

    简介 npm 是 JavaScript 的包管理工具。通过 npm,开发者可以轻松地搜索、安装、更新、删除 JavaScript 包,如前端框架、库和工具等。而 @unwrittenfun/acces...

    3 年前
  • npm 包 ce-mssql 使用教程

    在前端开发过程中,与数据库交互是必不可少的一步。而在 Node.js 环境下,ce-mssql 是一个非常好用的npm包,它可以帮助我们快速简便地与 Microsoft SQL Server 数据库进...

    3 年前
  • npm 包 containsjs 使用教程

    简介 containsjs 是一个用于判断一个字符串是否包含其他字符串的 JavaScript 库。该库可以轻松地被集成到你的前端项目中。 安装 在你的项目中使用 npm 包管理器,执行以下命令安装 ...

    3 年前
  • npm 包 raml-1-parser-test 使用教程

    什么是 raml-1-parser-test raml-1-parser-test 是一个 npm 包,它是 RAML(RESTful API Modeling Language)的解析器,可以将 R...

    3 年前
  • npm 包 react-native-contacts-wrapper-with-ios-mailing-addresses 使用教程

    简介 react-native-contacts-wrapper-with-ios-mailing-addresses 是一个基于 React Native 的 npm 包,用于在 iOS 系统上管理...

    3 年前
  • 使用 ibmcloud-objectstorage 包管理工具 npm

    在前端开发中,我们通常需要使用 ibmcloud 对象存储服务,而 ibmcloud-objectstorage npm 包就是为开发人员提供方便快捷地使用 ibmcloud 对象存储服务而开发的。

    3 年前
  • npm 包 @kazzkiq/ng2-smart-table 使用教程

    在前端开发中,表格是非常常见的数据展示形式。@kazzkiq/ng2-smart-table 是一个强大而易用的 Angular 表格组件,提供了各种特性和功能,可以大大节省我们的时间和精力。

    3 年前
  • npm 包 raml-definition-system-test 使用教程

    在前端开发中,使用 RESTful API 是一种常见的方式。为了确保 API 规范性和正确性,我们需要对它们进行测试。在这篇文章中,我将介绍一个使用 npm 包 raml-definition-sy...

    3 年前
  • npm 包 newman-reporter-text 使用教程

    介绍 newman-reporter-text 是 newman 的一个报告插件,它可将测试结果以文本形式输出。newman 是 Postman 开发的一款命令行工具,用于运行和测试 Postman ...

    3 年前
  • npm 包 raml-typesystem-test 使用教程

    随着前端开发的迅速发展,我们越来越依赖于各种工具来简化我们的开发流程。其中,npm 是最为流行的 JavaScript 包管理器之一,它提供了许多优秀的工具包供我们使用。

    3 年前
  • npm包 rand-perm使用教程

    简介 在前端开发中,我们经常需要对数组进行排序或洗牌等操作。这时候,rand-perm可以提供便捷的操作,其能够生成随机的数组排序,并且支持按照自定义规则进行排序。

    3 年前
  • npm 包 starwars-names-egghead 使用教程

    在前端开发中,时常需要使用到一些测试数据,例如测试用户名、邮箱等等。为了不占用更多的时间去构建测试数据,我们可以使用 npm 包来获取一些具有特定意义的测试数据。而 starwars-names-eg...

    3 年前
  • npm包 naf-passport-wxwork 使用教程

    在前端开发中,我们经常会使用各种npm包来帮助我们快速完成开发。今天,我们将介绍一款npm包——naf-passport-wxwork,这是一款用于管理企业微信企业号登录的包。

    3 年前
  • npm 包 ternrc 使用教程

    在前端开发中,我们经常需要进行代码补全、语法高亮等操作。npm 包 ternrc 就是一个非常方便的工具,它可以为我们提供更好的代码编辑体验。本文将详细介绍 ternrc 的使用方法,包括配置文件的下...

    3 年前

相关推荐

    暂无文章