Angular Material Date Picker 仅设置可选择的特定星期几(例如:星期一)

Posted

技术标签:

【中文标题】Angular Material Date Picker 仅设置可选择的特定星期几(例如:星期一)【英文标题】:Angular Material Date Picker Set Only a Particular Day of Week Selectable (Eg: Monday) 【发布时间】:2016-07-11 22:50:00 【问题描述】:

我想知道 Angular Material Date Picker 是否有任何过滤机制,所以我可以设置只有星期一可以从 Date Picker 中选择。

【问题讨论】:

【参考方案1】:

是的。有一个名为md-date-filter 的属性,您可以使用它来指定您希望用户选择的日期。在下面的示例中,当您返回 return day === 1; 时,它将只允许选择星期一。您可以根据需要将其从 o 更改为 7。

html查看文件

<md-datepicker ng-model="myDate" md-placeholder="Enter date" md-date-filter="onlyMonday">
</md-datepicker>

在控制器文件中

$scope.onlyMonday = function(date) 
                          var day = date.getDay();
                          return day === 1;

http://codepen.io/next1/pen/EKmdPx

【讨论】:

非常感谢!!! :-) 另一件事我想不通,有没有可能设置下一个最接近当前日期的星期一?例如:假设今天是 2016 年 3 月 25 日......所以我想设置 2016 年 3 月 28 日,这是离当前日期最近的星期一......【参考方案2】:

看看this。在 datepicker 上默认为下周一。

$scope.today = new Date('05/30/2016');
$scope.nextMonday = $scope.today;
daystoAdd = 7 - ($scope.today.getDay()) + 1;
$scope.nextMonday.setDate($scope.today.getDate() + daystoAdd);

【讨论】:

以上是关于Angular Material Date Picker 仅设置可选择的特定星期几(例如:星期一)的主要内容,如果未能解决你的问题,请参考以下文章

如何从日期数组中禁用 Angular Material Datepicker 日期?

Angular Material 找不到 Angular Material 核心主题

错误找不到模块'@angular/material

AngularCLI 和 Angular Material(原理图)错误:无法解析集合“@angular/material”

无法导入“@angular/material”模块

Angular2 Material:Angular 材质输入的自定义验证