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 包 screwdriver-notification-slacks 使用教程

    简介 screwdriver-notification-slacks 是一个基于 Screwdriver CI/CD 工具的 npm 包,其功能为在 Screwdriver 构建完成之后,将构建结果发...

    3 年前
  • npm 包 cfcmxk 使用教程

    npm 是 JavaScript 世界的包管理工具,它让开发者能够更加方便地分享和重用代码。在这篇文章中,我们将详细介绍一个名为 cfcmxk 的 npm 包的使用方法,并且提供详细的示例代码。

    3 年前
  • npm 包 instrumentation-react.js 使用教程

    引言 instrumentation-react.js 是一个可用于前端监控及分析的 npm 包。它提供了多种 React 组件、HOC(高阶组件)以及函数,用于记录用户行为、性能数据、错误信息等。

    3 年前
  • npm包 struct-extras使用教程

    前言 在前端开发中,我们经常需要处理数据结构。而npm上的struct-extras依赖库可以帮助我们更加高效地进行数据结构的处理。本文就来介绍一下如何使用struct-extras。

    3 年前
  • npm 包 eslint-config-chernetsov 使用教程

    在前端开发过程中,代码的质量是尤为重要的。为了确保代码的质量和一致性,我们需要使用 ESLint 来规范我们的代码风格。而 eslint-config-chernetsov 正是一款适用于前端项目的 ...

    3 年前
  • npm 包 handlebars-partial-file 使用教程

    前言 Node.js 经过多年的发展已经成为一种非常流行的服务器端技术,同时也涌现了大量的优秀的 npm 包,方便了我们的编程和开发。handlebars-partial-file 就是其中之一,它是...

    3 年前
  • npm 包 stringularity-type-utils 使用教程

    随着前端技术的不断发展,我们的工作中常常需要处理各种不同的数据类型。而在 JavaScript 中,处理数据类型可能会有些棘手,特别是涉及到与数据类型有关的某些操作时。

    3 年前
  • npm 包 babel-plugin-unpkg-rewrite 使用教程

    什么是 babel-plugin-unpkg-rewrite ? babel-plugin-unpkg-rewrite 是一个用于将 npm 包中的导入(import)语句重写为 unpkg CDN ...

    3 年前
  • npm 包 @sebathomson/platzom-platzi 使用教程

    在前端开发中,我们经常需要对字符串进行处理,特别是在国际化应用中。_@sebathomson/platzom-platzi_ 是一个 npm 包,提供了一种简单易用的方式来转换和处理西班牙语字符串。

    3 年前
  • npm 包 babel-plugin-unpkg 使用教程

    前言 在前端开发过程中,我们经常需要使用到一些第三方库,这些库通常会被打包成 npm 包,然后我们使用 npm 进行安装和管理。但是有些情况下,我们希望能够直接在浏览器中引入这些库,而不需要经过打包和...

    3 年前
  • npm 包 axios2 使用教程

    介绍 axios2 是基于 Promise 的 HTTP 客户端,可以用在浏览器和 Node.js 中。它提供了很多强大的功能,如拦截请求和响应、自动转换 JSON 数据、取消请求、在 Node.js...

    3 年前
  • npm 包 node-app-boot-listener-express 使用教程

    前言 在开发一个 Node.js 应用时,我们经常需要在应用启动时执行一些特定的代码,例如初始化数据库、配置应用的环境变量等。但是手动添加这些代码会变得冗长和不易维护。

    3 年前
  • npm包cat-utils使用教程

    作为前端工程师,我们经常会使用各种工具来简化我们的工作流程。其中,npm是我们最常用的包管理工具之一。在这篇文章中,我将向大家介绍一个非常实用的npm包 —— cat-utils,并针对它的使用进行详...

    3 年前
  • npm 包 lottery-swiper-core 使用教程

    简介 lottery-swiper-core 是一个基于 Swiper 实现的抽奖转盘组件,可轻松实现各种类型的抽奖效果。该组件基于 npm 包管理器发布,使用简便,便于定制和扩展。

    3 年前
  • npm 包 exp-bcoin 使用教程

    在前端开发中,我们常常需要使用到一些 npm 包来完成项目中的各种功能。其中,exp-bcoin 这个 npm 包为我们提供了一种可以在浏览器端和 nodejs 环境下使用比特币协议的方法。

    3 年前
  • npm 包 gitbook-plugin-katex-plus 使用教程

    前言 在现代 Web 开发中,前端开发已经成为一个不可忽视的部分。在前端开发中,我们常常使用 npm 包来加快开发效率、提高组件复用率等。 本篇文章将介绍一个非常实用的 npm 包 gitbook-p...

    3 年前
  • npm 包 @stephanvictory/platzom 使用教程

    简介 @stephanvictory/platzom 是一个针对西班牙语的字符串转换工具,可以将输入的字符串按照特定的规则进行转换,从而得到一个更加规范和易懂的字符串输出。

    3 年前
  • npm包egg-nodemailer-extra使用教程

    简介 egg-nodemailer-extra是一个基于Node.js的邮件发送插件,可以方便地在Egg.js应用中集成,用于发送邮件通知等功能。 本文将介绍如何在Egg.js应用中使用egg-nod...

    3 年前
  • npm 包 monk_heju 使用教程

    在前端开发中,我们经常会使用到各种各样的第三方库来实现功能,而 npm 包就是其中的一种高效便利的解决方案,它们能够帮助我们快速实现各种功能,提高开发效率。今天,我们来介绍一个非常实用的 npm 包 ...

    3 年前
  • npm 包 crud-json-array 使用教程

    在前端开发中,经常要涉及到对 JSON 数组的增删改查操作。这个过程可以手动实现,但是在开发过程中需要大量的时间和功夫。为了解决这个问题,我们可以使用 crud-json-array 这个 npm ...

    3 年前

相关推荐

    暂无文章