Kendo 自动完成中的自定义 filtering/sorting 逻辑

Custom filtering/sorting logic in Kendo Autocomplete

根据文档,我可以为 Kendo 自动完成控件设置 "startswith"、"contains" 或 "endswith" 过滤器:

The filtering method used to determine the suggestions for the current value. The default filter is "startswith" - all data items which begin with the current widget value are displayed in the suggestion popup. The supported filter values are startswith, endswith and contains.

有什么方法可以设置我自己的过滤逻辑吗?或者至少是对结果进行排序的方法?我需要的是一个 "contains" 过滤器,它使用我自己的逻辑根据与查询的相关性对结果进行排序。

您必须使用 sort.compare 属性 来实现,例如:

sort: {
    field: "FieldName",
    dir: "asc",
    compare: function(a, b) {
        return a.Relevancy > b.Relevancy;
    }
}

Demo.

注意:好像在定义compare的时候忽略了属性fielddir,但是需要定义, 否则它也会忽略 compare 属性.