首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Algolia Instantsearch.js与Autocomplete.js同步

Algolia Instantsearch.js与Autocomplete.js同步
EN

Stack Overflow用户
提问于 2018-01-29 21:02:27
回答 1查看 510关注 0票数 1

我已经设置了instantsearch.js并创建了一个名为index的索引,如下所示:

代码语言:javascript
复制
{
  "cities": [
    "Boston"
  ],
  "company": "Pineapple",
  "countries": [
    "United States",
    "Canada"
  ],
  "description": "Best pineapple in the world",
  "highlight": true,
  "productTypes": [
    "Hard Drive"
  ],
  "category": "Hardware",
  "title": "Kiwi",
  "objectID": "5"
}

我还设置了autocomplete.js并创建了两个索引:locationcountry

我是location

代码语言:javascript
复制
{
  "cities": "San Francisco",
  "objectID": "91961120"
}

我是country

代码语言:javascript
复制
{
  "countries": "Germany",
  "objectID": "92132590"
}

我已经让这两个函数分开工作,但我不知道如何同步它们。

我要寻找的行为是,用户可以在instantsearch.js的帮助下输入搜索,并使用autocomplete.js来选择一个位置或国家来过滤结果。或者,用户只需使用autocomplete.js按国家/地点过滤结果。

我创建了一个科德芬来显示我的代码。谢谢。

我知道我使用的命名约定不是最好的,它们将被改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-30 12:02:58

您需要确保在主索引中将citiescountries声明为attributesForFaceting。然后,您需要在初始的facets searchParameters of instantsearch上添加属性instantsearch。此属性将包含要使用的方面的名称(cities & countries)。从现在起,应该能够在属性上应用facet过滤器。

为了同步这两个实例,需要侦听autocomplete:selected事件。您还可能需要侦听输入上的change事件,并在没有值时清除筛选器。为了应用过滤器,您需要使用帮手,它是instantsearch用来管理状态的内部库。

我用上面解释的更改更新了您的科德芬

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48509905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档