0

我有一个具有date属性的数据数组,我需要根据日期过滤数据。

dstorejs用来存储数据如下

this.employeeStore = new Memory({data:[emplist],idProperty:"emp_num"});

我需要根据员工的加入日期进行过滤,例如从 2014 年 1 月 1 日到 2015 年 3 月 3 日加入的人

this.employeeStore.filter({joinDate:'01/01/2014'});

这给了 2014 年 1 月 1 日加入的所有员工,但如果我需要在一个范围内过滤

this.employeeStore.filter.gte({joinDate:'01/01/2014'});

这不起作用,因为它不是一个数字,它是一个stringdate对象

为了实现这一点,我是否需要编写他们在教程中提到的自定义商店?

有没有其他方法可以做到这一点?

还是有任何其他框架dstore可以实现这一目标?

4

1 回答 1

0

您可以通过使用dojo/store 查询过滤器来实现这一点,使用回调函数精确查询来管理比较日期

并使用该dojo/date compare函数将您的 emplist 数组的日期与特定日期进行比较,如下所示:

this.employeeStore = new Memory({data: someData});

var compareDate = new Date(2014,1,1);

var results = store.query(function(object){
    // compare return -1 if lower 
    // return 0 if equals
    // return 1 if greater
    return date.compare(object.date, compareDate) > -1;
});

results.forEach(function(yourResultData){
    // some stuff looping results
});

你可以看一个Fiddle有一个更好的理解。

于 2016-07-20T08:05:03.270 回答