Javascript 你能在剑道界面中用多个字段做一个过滤器吗?

Javascript 你能在剑道界面中用多个字段做一个过滤器吗?,javascript,asp.net-core,kendo-ui,kendo-grid,Javascript,Asp.net Core,Kendo Ui,Kendo Grid,我已经用包含多个不同字段的项目填充了一个网格,并且我已经创建了一个搜索栏,我打算用它来搜索网格中的项目,这些项目的字段与搜索词匹配。它只是将一个过滤器应用于给定项的网格。我可以输入一些东西并按标题进行搜索,但我想在此基础上进行扩展,并能够搜索网格中的任何字段 例如,对象foo可能具有字段Title、Description、ID和Display Name。我可以创建一个这样的过滤器,在标题字段中显式搜索网格中的匹配项: 让newFilter={field:Title,operator:contai

我已经用包含多个不同字段的项目填充了一个网格,并且我已经创建了一个搜索栏,我打算用它来搜索网格中的项目,这些项目的字段与搜索词匹配。它只是将一个过滤器应用于给定项的网格。我可以输入一些东西并按标题进行搜索,但我想在此基础上进行扩展,并能够搜索网格中的任何字段

例如,对象foo可能具有字段Title、Description、ID和Display Name。我可以创建一个这样的过滤器,在标题字段中显式搜索网格中的匹配项:

让newFilter={field:Title,operator:contains,value:term}


其中term是表示用户输入的变量。这就是我有点困惑下一步该怎么做的地方:我是否可以制作一个过滤器,而不是使用硬编码的标题作为字段,搜索任何foo字段中的匹配项?或者我必须创建4个不同的过滤器,每个字段一个,然后在它们上面加上“或”,告诉网格显示任何字段的结果?这有意义吗?

您只需一个过滤器即可实现此功能。取一个包含所有字段值的额外字段

例如:

在过滤器中映射此新字段:

let newFilter = { field: "AllTheValues", operator: "contains", value: term };
出于显示目的,可以使用在网格列中显示所需的任何值

例如:{field:AllTheValues,template::Title}

let newFilter = { field: "AllTheValues", operator: "contains", value: term };