在 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 展示了它的实际效果。
这可能是范围问题,或者您以某种方式在声明数据源之前调用了它。你能提供更多代码吗?
对于这个例子,我从本网站的其他地方提取代码:
<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 展示了它的实际效果。
这可能是范围问题,或者您以某种方式在声明数据源之前调用了它。你能提供更多代码吗?