angularJS中过滤日期的问题

时间:2017-03-19 12:51:26

标签: angularjs date

我的过滤日期有问题,我想在2个日期之间进行过滤,但如果日期from无效,则我会从2017-01-01开始(因为我觉得它是好的)如果日期'到'无效我开始有当前日期

这是我的傻瓜:

http://plnkr.co/edit/8sK29zG7YoPOdntbFfcK?p=preview

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您的过滤器可能是这样的:

app.filter("myfilter", function($filter) {

      return function(items, from, to) {

      const testFrom = Date.parse(from);
      const testTo = Date.parse(to);      


      if (!testFrom){
        console.log('Not valid');
        from = moment('2017-01-01');
      }

      //here it does nt work
      if (!testTo){
       to = moment();              
      }      


      const valids = items.reduce((acc,val) => {
         const date = moment(val.dateenvoi);
         if(date.isSameOrAfter(from) && date.isSameOrBefore(to))
          acc.push(val)        
        return acc;
      },[]);      
      return valids;      
      };
});

答案 1 :(得分:0)

检查this

此功能无需自定义过滤器,您可以使用角度预定义过滤器,如

<input type="text" name="S_Date" ng-model="filter.dateenvoi"/>

<tr ng-repeat="x in myData | filter: filter">

工作Plunker