2017-05-08 22 views
0

设置每页安打自动完成的文档,it states如何在Algolia自动完成

Hits

To build a source based on Algolia's hits array, just use:

{ 
    source: autocomplete.sources.hits(indexObj, { hitsPerPage: 2 }), 
    templates: { 
    suggestion: function(suggestion, answer) { 
     // FIXME 
    } 
    } 
} 

但是,我不知道什么是idexObj应该是。我有instantsearch与三个指标的实例,但传球无论是指数提供了以下错误:

autocomplete.min.js?_=1494237458641:7 Uncaught TypeError: Cannot read property '_ua' of undefined 

,同时通过indexObj结果:

Uncaught ReferenceError: indexObj is not defined 

我需要限制结果的数量显示和我假设通过源代码应该这样做,但我无法弄清楚如何传递它。

+1

您需要生成如下例所示的索引:https://github.com/algolia/autocomplete.js#standalone – rishipuri

回答

0

@ rishipuri是正确的,但因为我使用多个索引,这个例子并没有真正的数字。然而,这确实让我回去the documentation,我发现以下几点:

autocomplete('#aa-search-input', {}, [ 
    { 
     source: autocomplete.sources.hits(players, { hitsPerPage: 3 }), 
     displayKey: 'name', 
     templates: { 
     header: '<div class="aa-suggestions-category">Players</div>', 
     suggestion: function(suggestion) { 
      return '<span>' + 
      suggestion._highlightResult.name.value + '</span><span>' 
       + suggestion._highlightResult.team.value + '</span>'; 
     } 
     } 
    }, 
    { 
     source: autocomplete.sources.hits(teams, { hitsPerPage: 3 }), 
     displayKey: 'name', 
     templates: { 
     header: '<div class="aa-suggestions-category">Teams</div>', 
     suggestion: function(suggestion) { 
      return '<span>' + 
      suggestion._highlightResult.name.value + '</span><span>' 
       + suggestion._highlightResult.location.value + '</span>'; 
     } 
     } 
    } 
]); 

hitsPerPage在源定义在这里,这是非常有用的传递。

相关问题