在 Kendo UI 中访问数据源过滤器对象的字段

Accessing fields of filter object of Datasource in KendoUI

对于这个例子,我从本网站的其他地方提取代码:

<script>
 var dataSource = new kendo.data.DataSource({
 data: [
    { name: "Jane Doe" },
    { name: "John Doe" }
 ],
 filter: { field: "name", operator: "startswith", value: "Jane" }
});
var filter = dataSource.filter();
console.log(filter.logic);  // displays "and"
console.log(filter.filters[0]); displays '{field: "name", operator: "startswith", value: "Jane"}'
</script>

当我尝试时

 console.log(filter.filters[0]["field"]);

 console.log(filter.filters[0].field);

 console.log(filter.filters.field);

我不断收到消息

TypeError: fitem.filters[0] is undefined

或类似的。我正在寻找抛出值 "name".

的表达式

如何实现?

根据你的 TypeError,它说你正在使用 fitem.filters[0],而你在发布的代码中没有任何地方声明 fitem。这可能是你的问题。

使用 filter.filters[0].field 效果很好。这里有一个 jsfiddle 展示了它的实际效果。

这可能是范围问题,或者您以某种方式在声明数据源之前调用了它。你能提供更多代码吗?