为什么Meteor active-table中的自定义过滤器不起作用?

时间:2015-11-25 08:16:19

标签: javascript meteor filtering html-table

我正在尝试为reactive-table制作自定义过滤器,但它似乎无效。

这是我的代码:

Template.selectPartnerFilter.created = function () {
  this.filter = new ReactiveTable.Filter('partner-filter', ['partner_id']);
};

Template.selectPartnerFilter.events({
   "change #raw-data-filter" : function (event, template) {
      var input = $(event.target).val();
      if (!_.isNaN(input)) {
        template.filter.set(input);
      } else {
        template.filter.set("");
      }
   }
});

使用以下模板代码:

<template name="selectPartnerFilter">
   <select name="" id="raw-data-filter">
        <option value="">Filter by partner</option>
        {{#each partners}}
            <option value="{{_id}}">{{name}}</option>
        {{/each}}
    </select>
</template>

我还应该做些什么,才能让它在我的桌子上工作?

<div class="panel-body">
  {{> selectPartnerFilter}}
  {{> reactiveTable settings=settings}}
</div>

1 个答案:

答案 0 :(得分:0)

确保您在设置中设置过滤器:

settings = {
    // And some other settings you have already set and so on.
    filters: [
        'partner-filter'
    ]
}

您必须编写过滤器的唯一标识符,以便过滤才能工作,而不是添加实例。