javascript - 使用数组更改更新/刷新 kendo ui 自动完成
问题描述
我有一个标准的 jquery kendo ui 自动完成功能,很简单,可以启动:
let querCo = [];
...........
$.each(lRsp, function(i, value) {
querCo.push(value[id]);
});
$("#agent").kendoAutoComplete({
dataSource: querCo,
serverFiltering: true, // this was also an attempt
select: function(e) {
let item = e.item;
text = item.text();
// console.log(text);
}
});
一切都很好,除非尝试更新它...例如,我有一个删除按钮,目的是删除所选项目;我得到了选定的项目,并更新了数组querCo
并从数组中删除了该项目。但是自动完成仍然显示它....
$('#del').click(function(){
let val = text;
querCo = $.grep(querCo, function(value) {
return value != val;
});
console.log(querCo); // correct, outputs updated array
然后我尝试了以下两种方法;似乎什么都不做......原始数组,唉,删除的项目,仍然显示在自动完成?
尝试 1
$("#agent").data("kendoAutoComplete").dataSource.read();
尝试 2
$("#agent").data("kendoAutoComplete").refresh();
解决方案
我相信您要使用的方法是 setDataSource 来替换自动完成绑定到的数据源:
$("#agent").data("kendoAutoComplete").setDataSource(querCo);
https://docs.telerik.com/kendo-ui/api/javascript/ui/autocomplete/methods/setdatasource
推荐阅读
- excel - Excel VBA图表 - 如果包含“括号”,将图表的标签设置为红色?
- objective-c - 请求关联构建器开始收集时的授权错误
- c# - 我可以在 xaml 代码中禁用 WPF 组合框的第一项吗?
- c# - 如何查看数据集函数的性能利用率
- python - 如何在不使用 reverse=True 参数的情况下以相反的顺序对字符串列表进行排序?
- javascript - 将 YES/NO 转换为 true/false 的更优雅的方法
- javascript - 从快捷方式更改异步 n 承诺
- javascript - 如何对从 AJAX 调用返回的数据进行分组?
- bash - 如何使用 bash 脚本将一个文件内容粘贴到不同的文件中?
- python - 熊猫 - 单列问题内的划分