1
var lunrFilter1 = new Backgrid.Extension.LunrFilter({
  collection: pageableTerritories.fullCollection,
  placeholder: "Name",
  fields: {
    name: name
  },
  ref: 'id',
  wait: 150
});
$example2.prepend(lunrFilter1.render().el);
lunrFilter1.$el.css({float: "left", margin: "20px"});

它用lunr.tokenizer from assest/js/lunr.js.

如何覆盖/扩展它?

4

1 回答 1

1

lunr 中的默认标记器只是顶级 lunr 名称空间上的一个函数。

不幸的是,目前没有简单的方法来扩展标记器,尽管可以用您自己的实现完全替换它。

lunr.tokenizer = function (obj) {
  // your implementation here!
}

现有实现处理正在传递的字符串、字符串数组或什么都没有(null 或未定义),并且必须返回字符串数组或空数组。然后,该数组将由文本处理管道的其余部分处理。如果您满足这些约束,lunr 将不会更明智地更换标记器,并将继续按预期工作。

如果缺少特定功能,或者您发现了错误,请在 Github 项目上打开一个问题。

于 2014-02-27T18:13:35.180 回答