2015-09-07 3 views
0

Я пытаюсь сделать раскрывающийся список в своем приложении. Прежде всего, я использую Meteor, так что это особый вид приложения. . Второе, что я использую пакет sebdah/meteor-autocompletion, потому что я хочу, чтобы мои результаты были отсортированы определенным образом и ограничены.Результаты группы в автозаполненном раскрывающемся списке [Метеор]

Последнее, что мне нужно, это сгруппировать результаты. Например: если у меня есть два продукта с именем «бла», я хочу получить только 1 «благ» в раскрывающемся списке «автозаполнение».

Некоторый код:

HTML:

<template name="InvoicesEditInsertInsertForm"> 
    <input id="descriptionautocomplete" type="text" name="description" value="" class="form-control" autofocus="autofocus" placeholder="New Item..."> 
</template> 

JS:

Template.InvoicesEditInsertInsertForm.rendered = function() { 
AutoCompletion.init("input#descriptionautocomplete"); 
}; 

Template.InvoicesEditInsertInsertForm.events({ 
'keyup input#descriptionautocomplete': function() { 
     AutoCompletion.autocomplete({ 
      element: 'input#descriptionautocomplete',  // DOM identifier for the element 
      collection: InvoicesItem,    // MeteorJS collection object 
      field: 'description',     // Document field name to search for 
      limit: 5,       // Max number of elements to show 
      sort: { modifiedAt: -1 }, 
      });    // Sort object to filter results with 

     }, 


}); 

мне нужно использовать функцию, можно сгруппировать мои "описание" здесь.

Я пытался сделать это в помощнике, и я получаю это на моем экране, но если честно, я не знаю, как положить, что в моем раскрывающемся списке :(

try: function() { 
     var item= InvoicesItem.find({},{sort:{modifiedAt:-1}}).fetch(); 
     var descriptions={}; 

     _.each(item,function(row){ 
      var description = row.description; 

      if(descriptions[description]==null) 
       descriptions[description]={description:description}; 
     }); 

     return _.values(descriptions); 
    }, 

ответ

0

Я не думаю, что вы .. может делать то, что вы хотите с этим пакетом Если вы посмотрите на current limitations документации пакета, вы можете увидеть других возможных решения вашей проблемы

вы можете сделать Addtional фильтрации следующим образом: filter: { 'gender': 'female' }}); но я не Думаю, это позволит вам требовать только уникальные опции.

Код, который вы написали выше для try, ничего не сделает. Автозаполнение не занимает поле try.

+0

я понимаю. Я попробовал «Попробовать» (: P) вернуть коллекцию на свой экран в файле HTML, и этот код работает - он группируется. Но я не хочу иметь его на своем экране, просто хочу иметь в своем «раскрывающемся списке автозаполнения» :) – Bart