我的应用程序使用AngularJs和KendoUI控件构建。我在应用程序中使用了自动完成文本框这么多地方。现在客户希望搜索应该与"包含"过滤。对于同样的我需要把过滤器:'包含'到处使用AutoComplete控件。
我想更改默认过滤器' startWith'到'包含'在申请开始时。这样我就可以逃避每个html文件的更改。
谁能知道如何做同样的事情?
答案 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"
}