gpt4 book ai didi

angularjs - 如何设置 Angular Timepicker 的最短时间和最长时间?

转载 作者:行者123 更新时间:2023-12-02 23:41:24 25 4
gpt4 key购买 nike

有没有办法为 Angular 的引导时间选择器设置最小时间和最大时间? Angular 的日期选择器支持设置最小和最大日期,我想知道是否有类似的功能允许时间选择器。

查看 Angular Documentation for Timepicker 中的设置似乎没有办法做到这一点......但只是想知道是否有人熟悉实现这种行为的方法。预先感谢您的见解/建议!

<小时/>

编辑:

提供有关我正在尝试做的事情的更多背景信息:

我有两个并排的时间选择器。左侧的选择器允许用户选择开始时间,右侧的选择器允许用户选择结束时间。无论选择哪个开始时间,都应设置结束时间时间选择器的下限,无论选择哪个结束时间,都应设置开始时间时间选择器的上限。

最佳答案

如果验证工作正常,您实际上只需要设置 minTime 或 maxTime,因为一旦您的“开始”时间在“结束”时间之后,“结束”时间也会在“开始”时间之前。

我想做的正是你所描述的,并最终编写了一个指令来做到这一点。

我选择“minTime”作为“结束”时间选择器的属性,并将其设置为“开始”时间选择器的模型。然后,该指令会监视两个模型的更改,如果“开始”时间发生更改,则更新 minTime,并根据“开始”是否在“结束”之前设置模型验证。

只要设置了 ng-model,您也可以在 input[time] 元素上使用它。

我一开始尝试通过使用解析器和格式化程序来避免 $watch,但最终没有将模型注册为无效,直到我下次更改它。

这是指令。欢迎do wtf you want有了它:

directive('minTime', function (){ 
return {
require: 'ngModel',
restrict: 'A',
link: function(scope, elem, attrs, ctrl) {
var minTime;

scope.$watch(attrs.minTime, function(newVal) {
minTime = newVal;
validate();
});

scope.$watch(attrs.ngModel, validate);

function validate(value) {
ctrl.$setValidity('minTime', (minTime < ctrl.$modelValue));
return value;
}
}
};
})

关于angularjs - 如何设置 Angular Timepicker 的最短时间和最长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27425976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com