autoComplete.js 使用教程
项目介绍
autoComplete.js 是一个纯 JavaScript 编写的自动完成库,它能够帮助用户在输入时快速找到并选择预先填充的列表中的值。该库利用搜索和过滤功能,提供了丰富的交互体验和可访问性属性。autoComplete.js 适用于各种需要自动完成功能的场景,如搜索框、表单输入等。
项目快速启动
安装
推荐使用 npm 或 yarn 进行安装:
npm install @algolia/autocomplete-js
# 或者
yarn add @algolia/autocomplete-js
如果不使用包管理器,可以直接通过 HTML 的 script 标签引入:
<script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script>
<script>
const { autocomplete } = window['@algolia/autocomplete-js'];
</script>
使用
首先,在你的 HTML 中插入一个容器:
<div id="autocomplete"></div>
然后,通过 JavaScript 调用 autocomplete 函数并提供容器:
import { autocomplete } from '@algolia/autocomplete-js';
autocomplete({
container: '#autocomplete'
});
应用案例和最佳实践
案例一:搜索框自动完成
在电商网站中,用户搜索商品时,可以使用 autoComplete.js 提供商品名称的自动完成功能,提升用户体验。
<div id="product-search"></div>
<script>
autocomplete({
container: '#product-search',
getSources: () => [{
sourceId: 'products',
getItems: ({ query }) => fetch(`/api/products?q=${query}`).then(res => res.json())
}]
});
</script>
案例二:表单输入自动完成
在用户注册或编辑个人资料时,可以使用 autoComplete.js 提供城市名称的自动完成功能,简化用户输入。
<div id="city-input"></div>
<script>
autocomplete({
container: '#city-input',
getSources: () => [{
sourceId: 'cities',
getItems: ({ query }) => fetch(`/api/cities?q=${query}`).then(res => res.json())
}]
});
</script>
典型生态项目
autocomplete-plugin-algolia-insights
该插件用于在 Autocomplete 中添加 Algolia Insights 功能,帮助分析用户搜索行为。
autocomplete-plugin-redirect-url
该插件用于启用重定向 URL 功能,允许用户点击自动完成项后跳转到指定页面。
autocomplete-plugin-tags
该插件用于管理和显示自动完成中的标签列表,适用于需要标签输入的场景。
autocomplete-preset-algolia
该预设用于在 Autocomplete 中使用 Algolia 功能,简化 Algolia 集成的复杂性。
autocomplete-theme-classic
该主题为 Autocomplete 提供经典的视觉样式,方便快速应用到项目中。
通过这些生态项目,可以进一步扩展和定制 autoComplete.js 的功能,满足更多复杂场景的需求。