Kendo Ui自动完成 - 如何更改默认过滤器" startWith"到"包含"?

时间:2017-10-09 07:43:33

标签: kendo-ui kendo-autocomplete

我的应用程序使用AngularJs和KendoUI控件构建。我在应用程序中使用了自动完成文本框这么多地方。现在客户希望搜索应该与"包含"过滤。对于同样的我需要把过滤器:'包含'到处使用AutoComplete控件。

我想更改默认过滤器' startWith'到'包含'在申请开始时。这样我就可以逃避每个html文件的更改。

谁能知道如何做同样的事情?

2 个答案:

答案 0 :(得分:1)

我想您需要为所有控件至少更新一次自动完成过滤器属性,以支持动态属性绑定并绑定到某些根配置,例如:

<input kendo-auto-complete k-filter="config.autoComplete.defaultFilter" />

因此,将来只能通过更新配置值来更改默认过滤器。

另一种方法 - 覆盖默认&#34; setOptions&#34; &#34;自动完成&#34;的行为默认情况下,应用程序启动时某处使用正确过滤器的组件:

var nativeSetOptions = window.kendo.ui.AutoComplete.prototype.setOptions;

window.kendo.ui.AutoComplete.prototype.setOptions = function(options) {
  options.filter = 'contains';
  nativeSetOptions.call(this, options);      
}

答案 1 :(得分:1)

您可以使用k-options属性:

<input kendo-auto-complete ng-model="yourModel" k-data-source="yourDataSource" style="width: 100%;" k-options="autocompleteOptions"/>

然后在你的控制器中:

$scope.autocompleteOptions = {
   filter:"contains"
}