我有一个Kendo UI ComboBox,serverfiltering设置为true,autobind设置为false。我希望它的行为如下:
1)在页面加载时不加载任何内容。
2)当用户写入一些文本时,执行服务器过滤并显示结果。
3)当用户点击下拉菜单时,无论过滤如何都加载所有项目并显示它们。
问题是在早期版本的KendoUI中,组合框的工作方式与上面的配置相同,但在较新的版本中,输入一些文本并单击下拉列表不会触发读取,因此只显示与过滤器匹配的项目
重现
请参阅以下示例:https://dojo.telerik.com/ATEWEmuz
1)在&#34选择最新版本的Kendo UI框架;选择图书馆"
2)单击组合框
3)写j并稍等一下,然后在组合框外单击
4)点击下拉箭头
早期版本的结果与当前版本的结果:
当我通过配置点击下拉菜单时,有没有办法让kendo重新加载所有数据?我尝试将箭头上的ondown事件绑定到数据源读取命令,但这导致了其他奇怪的行为。
答案 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([]);
});