2016-09-12 3 views
0

I 다음 검색 코드를 가지고 :Algolia 자동 완성 문제

 autocomplete('#search-input', {hint: false, autoselect: true}, [ 
     { 
      source: autocomplete.sources.hits(contacts, { hitsPerPage: 3 }), 
      displayKey: 'CustomerName', 
      templates: { 
       header: '<div class="leftMargin5"><b>Contacts</b></div>', 
       suggestion: function(hit) { 
        return templateContact.render(hit); 
       } 
      } 
     }, 
     { 
      source: autocomplete.sources.hits(products, { hitsPerPage: 5 }), 
      displayKey: 'ProductDescription', 
      templates: { 
       header: '<div class="leftMargin5"><b><Products</b></div>', 
       suggestion: function(hit) { 
        return templateProduct.render(hit); 
       } 
      } 
     } 

    ]).on('autocomplete:selected', function (event, suggestion, dataset) { 
     //DoSomething 
    }).on('autocomplete:autocompleted', function (event, suggestion, dataset) { 
     //DoSomething 
    }); 

내 문제는 내가 검색 창에 입력 할 때, 맨 위 요소를 선택하고 검색 상자에 텍스트가이 경기에 설정되어있다 . 검색 창에 텍스트를 계속 입력하거나 삭제할 수 없습니다. 입력하거나 삭제하면 간단하게 원래의 일치 항목을 계속 선택할 수 있습니다.

내가 입력 할 때 첫 번째 히트가 강조 표시되도록하려하지만, 찾고자하는 것이 아닌 경우 계속 입력하거나 다른 항목을 선택할 수 있기를 원합니다.

옵션 autoselect : true를 제거하면 검색 상자가 작동하지만 물론 자동 선택 기능이 없어도됩니다.

+0

바이올린을 만들 수 있습니까? 이것은 우리에게 많은 도움이 될 것입니다. – Jerska

답변

2

Arg 실제로는 autoselect & displayKey 옵션 사이의 버그입니다. 문제를 해결하기 위해 displayKey을 제거하면 official repository에서 문제를 열어야합니다.

업데이트 : 0.21.6 이후로 수정되었습니다.

+1

그 트릭을 했어! 감사. – Mystmoon