Angulars ngx-bootstrap 日期范围输出到日期范围过滤器管道

标签 angular typescript sorting ngx-bootstrap

https://stackblitz.com/edit/timeline-angular-7-uj3jtl

我正在使用 ngx-bootstraps 日期选择器构建功能,使用 date range picker.它允许用户选择开始和结束日期。

在选择这些日期后,如果日期落在选择的开始和结束日期内,我希望数组(内容)进行过滤。

我已经设法通过开始日期和结束日期的控制台日志获得了所需的输出。我现在需要将这些值发送到我的 *ngFor 循环,如下所示用于日期范围管道。

<my-timeline-entry *ngFor="let entry of timeLine | filter:filteredLocation:'location' | dateRangeFilter: startDate: endDate">

然后这些被送入日期范围管道并返回过滤后的结果。

我已经研究了一段时间,我创建了一个 StackBlitz减去我所有的尝试。我遇到的问题是日期与数组中的日期格式不匹配。我确实一次性解决了这个问题,但不利于将更新后的 startDateendDate 传递给 *ngFor 循环。

    dateFilterChanged(bsRangeValue: string) {
    console.log('filterValue', bsRangeValue);
    const startDate = new Date(bsRangeValue[0]);
    const endDate = new Date(bsRangeValue[1]);
       console.log(this.datePipe.transform(startDate,"dd-MM-yyyy"));
     console.log(this.datePipe.transform(endDate,"dd-MM-yyyy"));
  }

更新

<my-timeline-entry *ngFor="let entry of timeLine | filter:filteredLocation:'location' | dateRangeFilter: bsRangeValue[0]: bsRangeValue[1]">

将值直接传递给管道 - 现在只需要帮助来配置管道。

在这方面的任何帮助都会很棒!

最佳答案

好的,我希望这对其他人有帮助。终于让它工作了。请看原文StackBlitz .

所缺少的只是在我的范围过滤器管道中正确引用对象属性。

        let a = value.filter(
          m => new Date(m.dateTime) >= startDate && new Date(m.dateTime) <= endDate
        )

关于Angulars ngx-bootstrap 日期范围输出到日期范围过滤器管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58085865/

相关文章:

html - Angular HTML 元素对齐问题

javascript - Angular2 和 Ng2Bootstrap 问题 : ComponentLoaderFactory

javascript - Angular - 显示没有时区转换的日期时间

javascript - 如何使用 Angular 8 在选择元素中取消选择选定的选项元素

c# - 更改源后 ICollectionView 排序不起作用

html - 在 HTML 中对字符串插值进行样式设置 - Angular

angular - 重建应用程序后,Ionic Native Storage 不会持续存在

reactjs - 如何在 Storybook 中添加样式 Prop 作为控件?

java - 如何对包含 int+string 条目的数组列表进行数字排序

cocoa - 对 NSArrayController 支持的 NSTableView 进行排序