我在用fatpickr和https://www.npmjs.com/package/angularx-flatpickr包角包
出现问题的StackBlitz:https://stackblitz.com/edit/angular-npep74
目标:我想使星期六和星期日显示为禁用(下一步是也不能选择假期)
问题:我找不到有关如何使用这种角度包绕的说明,并且像原始的flatpickr文档无法正常工作一样
官方文档说应该是这样的:
"disable": [
function(date) {
// return true to disable
return (date.getDay() === 0 || date.getDay() === 6);
}
],
包装器文档什么也没说
我尝试了什么?:
HTML:
<input
type="text"
mwlFlatpickr
[altInput]="true"
dateFormat="Z"
[(ngModel)]="desiredDate"
[disable]="[disabledDay(date)]">
TS:
disabledDay(date) {
console.log(date); // <---**on this point date is undefined**
return true;
}
预先感谢
答案 0 :(得分:1)
您在代码中犯了错误,您不希望通过函数的执行,而您希望通过函数的定义
代替
<input
type="text"
mwlFlatpickr
[altInput]="true"
dateFormat="Z"
[(ngModel)]="desiredDate"
[disable]="[disabledDay(date)]">
更改为
<input
type="text"
mwlFlatpickr
[altInput]="true"
dateFormat="Z"
[(ngModel)]="desiredDate"
[disable]="[disabledDay]">
我分叉了您的闪电式结帐示例:
答案 1 :(得分:1)
作为文档说明:[disable]
指令将采用您要禁用的日期数组。
例如:
通过返回true false(将Date对象作为默认参数)的函数,并为加载到UI日历中的每个日期触发:
[disable] = "[functionReturnBool]"
//In the ts:
functionReturnBool(date){
//Disable July:
return date.getMonth() === 6 // july index is 6
}
按范围:
[disable] = "[{from: '2025-04-01',
to: '2025-05-01'},
{from: '2025-09-01',
to: '2025-12-01'}]";
在特定日期之前:
[disable] = "['2025-03-30', '2025-05-21']"
或将它们全部合并:
[disable] = "[functionReturnBool, new Date(2019,6,24), '2019-07-25', {from: '2019-07-01', to: '2019-07-08'}]"