使用 meteor 自动完成包搜索 (mizzao)

Searching with meteor autocomplete package (mizzao)

我是 Javascript 和 Meteor 的新手,在让 Mizzau 的 Meteor 自动完成包正常工作时遇到了一些问题。我可以让表单自动完成,但无法过滤我的待办事项。我希望的最终结果是在自动完成中输入待办事项并让它过滤订阅,我也会选择搜索并从那里开始。我还要说我的初始状态是列表 returns 0 todos(显示 none)我觉得我可能很接近。我的代码的很大一部分来自于此:Meteor - autocomplete with "distinct" feature? 吨 跟我订阅有关系吗?

这是我的服务器端发布调用:

    Meteor.publish("todosAuto", function(selector, options) {
  Autocomplete.publishCursor(Todos.find(selector, options), this);
  this.ready();
});

我的客户端订阅:

Meteor.subscribe('todosAuto');

我模板的相关部分:

<div class="container todoFormSec">
    <div class="col-md-4">
      {{> inputAutocomplete settings=settings id="msg" class="form-control" placeholder="Search..."}}
    </div>
  <div class="row">
    <div class="col-md-5 pull-right">
      <h1 class="todocountstyle text-right">You Have {{ todoCount }} Todos</h1>
    </div>
  </div>
  <div class="row">
    <div class="col-md-12">
      <div class="todos">
          {{ #each todosAuto }}
              {{ >todo }}
          {{ /each }}
      </div>
      </div>
  </div>
</div>

我的设置:

Template.home.helpers({

  todos: function() {
  return Todos.find();
},


todoCount: function() {
  return Todos.find({userid: Meteor.userId()}).count();
},

  settings: function() {
    return {
      position: "top",
      limit: 5,
      rules: [
        {
          token: '@',
          collection: 'Todos',
          field: "title",
          subscription: 'todosAuto',
          template: Template.titlePill
        },
        {
          token: '#',
          collection: 'Todos',
          field: "categories",
          options: '',
          subscription: 'todosAuto',
          matchAll: true,
          template: Template.dataPiece
        }
      ]
    };
  }

});

Template.home.events({ // listen for selection and subscribe
  "autocompleteselect input": function(event, template, doc) {

   Meteor.subscribe("todosAuto", doc.title);
  }
});

过去我曾尝试使用您遇到的这个自动完成包。我发现它的保真度不足以满足我的需求。因此,我向您推荐 Twitter typeaheadbloodhound。我对以下套餐非常满意ajduke:bootstrap-tokenfield in combination with sergeyt:typeahead

时间投入是非常值得的。查看我的 previous posting for examples. Here 是更多示例。

如果以上太复杂,试试jeremy:selectize。重点是那里有很多更好的包。