首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个InstantSearch.js searchBox实例

多个InstantSearch.js searchBox实例
EN

Stack Overflow用户
提问于 2022-06-27 19:07:06
回答 1查看 131关注 0票数 1

我想要有多个搜索场。这是我正在尝试的,但它的结果是“克隆”输入字段。这有可能有多个搜索框可以独立工作吗?

代码语言:javascript
复制
search.addWidgets([ 
        instantsearch.widgets.searchBox({
            container: '#searchbox',
            placeholder: 'Regular Searchbox',
            autofocus: true,
            searchAsYouType: false,
            showReset: true,
            showSubmit: true
        }),

        instantsearch.widgets.searchBox({
            container: '#searchbox-2',
            placeholder: 'Searchbox to be integrated with AutoComplete',
            searchAsYouType: true,
        })
]);

如能在这方面提供任何替代解决办法,将不胜感激。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-06-28 05:16:24

在这个论坛上也提出了同样的问题

通过将整个网页包装在一个InstantSearch实例中,它只允许一个查询--这就是为什么您的多个搜索框都反映相同的查询。

因此,一个可能的替代方法是创建另一个搜索实例。

例如

代码语言:javascript
复制
const searchClient = algoliasearch(
  'appId',
  'key'
);

const search = instantsearch({   //instance 1
  indexName: 'instant_search',
  searchClient,
});

const search2 = instantsearch({  //instance 2
  indexName: 'instant_search',
  searchClient,
});

然后创建小部件,如

代码语言:javascript
复制
search.addWidgets([ 
  instantsearch.widgets.searchBox({
      container: '#searchbox',
      placeholder: 'Regular Searchbox',
      autofocus: true,
      searchAsYouType: false,
      showReset: true,
      showSubmit: true
  }),

]);
search2.addWidgets([ 
  instantsearch.widgets.searchBox({
    container: '#searchbox-2',
    placeholder: 'Searchbox to be integrated with AutoComplete',
    searchAsYouType: true,
})
]);

确保它们也分开启动。

代码语言:javascript
复制
search.start();
search2.start();

在上面的论坛链接中有一个码箱演示

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

https://stackoverflow.com/questions/72777208

复制
相关文章

相似问题

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