2017-01-09 55 views
0

在我的点击中,我有一个包含的道具添加了 ..当我尝试在添加日期时添加一个过滤器时,会出现常用日期列表。我如何制作过滤器,说.. 1天前,2天前,1周前等..然后筛选结果。如何在Algolia中创建相对日期/时间过滤器(即“一天前”,“2天前”,“3天前”)?

因此,而不是显示完整的日期列表作为过滤器,我可以根据我想要的个性化它。

脚本:

//Algolia Widget for Date Added. 
search.addWidget(
    instantsearch.widgets.menu({ 
    container: '#added-menu', 
    attributeName: 'added', 
    limit: 10, 
    templates: { 
     header: 'Added' 
    } 
    }) 
); 

//Date added will display the whole list of common dates. 
+0

你应该尝试使用类似[moment.js](http://momentjs.com)的库。 –

+1

谢谢。顺便说一句,我发现另一种解决方案它是像数字选择器一样添加过滤器。基于我们的旧应用程序,我们实际上需要一组特定的相对日期/月份。 – Johneric

回答

0

更新:我能找到解决方案来处理相关日期,它是由algolia文档中找到名为numericSelector使用过滤器。情况是,我只需要复制我们在旧App中的相对日期。

这里的约束:

  • 使用相对时间/日期过滤器。
  • 不要在匹配中显示常用日期。
  • 使用下拉菜单。
 

    search.addWidget(
     instantsearch.widgets.numericSelector({ 
     container: '#added-menu', 
     attributeName: 'added', 
     templates: { 
      header: 'Added' 
     }, 
     operator: '>=', 
     options: [ 
      {label: 'Anytime', value: 0 }, 
      {label: 'Today', value: daysBefore(1) }, 
      {label: 'Within 3 Days', value: daysBefore(3)}, 
      {label: 'Within 1 week', value: daysBefore(7)}, 
      {label: 'Within 2 weeks', value: daysBefore(14)}, 
      {label: 'Within 1 Month', value: daysBefore(30)}, 
      {label: 'Within 3 Months', value: daysBefore(90)}, 
      {label: 'Within 6 Months', value: daysBefore(183)} 
     ] 
     }) 
    ); 

剩余天数() 是返回当前日期减去 的天数,然后转换为一个Linux时间戳的功能。

相关问题