我正在尝试使过滤工作。我已经修改了sample,但无法弄清楚为什么它不起作用。我想禁用所有日子,除了testDates数组中的日子。 “找到有效的日期”已正确注销,但是日期无法选择。
myFilter = (d: Date): boolean => {
const testDates: Date[] = [
new Date('2018-08-30T00:00:00+02:00'),
new Date('2018-08-28T00:00:00+02:00'),
new Date('2018-08-21T00:00:00+02:00'),
new Date('2018-08-23T00:00:00+02:00')
]
testDates.forEach(item => {
if (item.toDateString() == d.toDateString()) {
console.debug("found valid day:" + d);
return true;
}
});
console.debug("invalid day:" + d);
return false;
}
这里是堆叠闪电战: https://stackblitz.com/edit/angular-6fgvsx?embed=1&file=app/datepicker-filter-example.ts
答案 0 :(得分:2)
使用myFilter作为以下代码:
myFilter = (d: Date): boolean => {
const testDates: Date[] = [
new Date('2018-08-30T00:00:00+02:00'),
new Date('2018-08-28T00:00:00+02:00'),
new Date('2018-08-21T00:00:00+02:00'),
new Date('2018-08-23T00:00:00+02:00')
]
return testDates.findIndex(testDate => d.toDateString() == testDate.toDateString()) >= 0;
}
答案 1 :(得分:1)
将返回值保存到变量中,然后它将起作用。
let x = false;
testDates.forEach(item => {
if (item.toDateString() == d.toDateString()) {
x = true;
}
})
return x;