对于此示例,我将从该站点上的其他地方发布代码:
<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]未定义
或类似。我正在寻找抛出值“名称”的表达式。
如何做到这一点?
最佳答案
根据您的TypeError
,它表示您正在使用fitem.filters[0]
,并且在发布的代码中的任何地方都没有声明fitem
。那可能是您的问题。
使用filter.filters[0].field
可以正常工作。这是一个jsfiddle来显示它的作用。
它可能是范围问题,或者您在声明数据源之前以某种方式调用它。您可以提供更多代码吗?