【问题标题】:Disable future dates using angular-bootstrap-datetimepicker使用 angular-bootstrap-datetimepicker 禁用未来日期
【发布时间】:2019-04-18 07:17:21
【问题描述】:

我正在建立一个网站,用户可以在其中看到一些图表。这些图表是特定日期的,因此用户需要选择图表显示的日期。

一切正常,但允许用户选择未来的日期。这不应该发生,因为图表仅适用于现在和过去的日期。

对于我使用 Angular5 和日期选择器 angular-bootstrap-datetimepicker 的项目,我似乎找不到禁用这些日期的方法。

我使用库显示日期选择器的方式是这样的:

<dl-date-time-picker      
   [startView]="'day'" 
   [minView]="'day'" [maxView]="'year'" 
   [ngModel]="item.entity" 
   (click)="$event.stopPropagation()" 
   (ngModelChange)="onDateChange(filter, item, $event, dd)"> 
</dl-date-time-picker>

有人知道怎么做吗?

P.S.:我已经查看了旧问题/答案,但它们不起作用,因为它们适用于库的所有版本。

【问题讨论】:

    标签: angular datepicker angular5 bootstrap-datetimepicker


    【解决方案1】:

    我在图书馆的documentation 找到了解决方案。

    有一个名为“selectFilter”的属性可以绑定到一个函数,所以用法是这样的:

    <dl-date-time-picker
      [selectFilter]="selectFilter"
      [ngModel]="item.entity"           
      (click)="$event.stopPropagation()"
      (ngModelChange)="onDateChange(filter, item, $event, dd)">
    </dl-date-time-picker>
    

    然后selectFilter可以这样定义:

    private selectFilter(dateButton: DateButton, viewName: string): boolean {
       return dateButton.value <= (new Date()).getTime();
    }
    

    这个功能可以根据每个项目的具体要求重新定义:)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多