具有自定义数据源读取功能的 KendoUI 自动完成

KendoUI Autocomplete with custom datasource read function

我在框架内使用 Kendo UI 自动完成小部件(不是 Kendo 的 MVVM 框架)。因此,我在 returns 我的数据的数据源配置中定义了一个读取函数,而不是使用字符串 url 引用。我的配置片段如下:

        transport: {
            read: function (opts) {
                console.log('arguments', arguments);
                readFn(opts)
                    .then(opts.success)
                    .catch(e => opts.error([]));
            }
        }

我的问题是,当我输入自动完成时,自动完成的当前文本值没有传递到我的自定义读取函数。这意味着我无法使用该函数进行动态过滤。 (我希望它作为传递给函数的 opts 散列的一部分传递。)

Kendo 提供了一个 serverFiltering 选项,但是在使用自定义函数时这似乎没有任何作用。所以从本质上讲,这意味着什么——在最初输入时,Kendo 将尝试 运行 函数,但之后它将在内部过滤数据。这不是我要寻找的行为。

有解决办法吗?

问题当然出在我正在做的事情上。我确实设置了 serverFiltering 选项,但我将其作为主要选项散列的一部分传递,而不是数据源的一部分。将其更改为正确的方式解决了问题。