对于此示例,我将从该站点上的其他地方发布代码:

<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来显示它的作用。

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

07-28 01:29
查看更多