单击下拉箭头时,Kendo UI Combobox不会触发读取

时间:2018-04-19 10:21:07

标签: javascript jquery kendo-ui

我有一个Kendo UI ComboBox,serverfiltering设置为true,autobind设置为false。我希望它的行为如下:

1)在页面加载时不加载任何内容。

2)当用户写入一些文本时,执行服务器过滤并显示结果。

3)当用户点击下拉菜单时,无论过滤如何都加载所有项目并显示它们。

问题是在早期版本的KendoUI中,组合框的工作方式与上面的配置相同,但在较新的版本中,输入一些文本并单击下拉列表不会触发读取,因此只显示与过滤器匹配的项目

重现

请参阅以下示例:https://dojo.telerik.com/ATEWEmuz

1)在&#34选择最新版本的Kendo UI框架;选择图书馆"

2)单击组合框

3)写j并稍等一下,然后在组合框外单击

4)点击下拉箭头

早期版本的结果与当前版本的结果:

enter image description here enter image description here

当我通过配置点击下拉菜单时,有没有办法让kendo重新加载所有数据?我尝试将箭头上的ondown事件绑定到数据源读取命令,但这导致了其他奇怪的行为。

1 个答案:

答案 0 :(得分:0)

如果您记录阅读操作

var ret = ["John", "Candice", "Scott", "Rejer"];
console.log(ret);
console.log(filter);

您会看到旧的库在打开事件期间读取时没有过滤器。最新的库在打开期间不执行读取。

这可能与https://github.com/telerik/kendo-ui-core/issues/3926有关,或者可能是行为合同发生了变化。

要恢复到先前的行为,您可以删除组合框模糊事件处理程序中的过滤器。

var kendoControl = $("#box").data("kendoComboBox");

$("#box").blur(function(e) {
  kendoControl.dataSource.filter([]);
});