#javascript #angular #typescript #primeng #date-range
#javascript #угловой #typescript #primeng #диапазон дат
Вопрос:
У меня есть следующий код для реализации фильтра диапазона дат в таблице PrimeNG.
<th class="filter_header">
<p-calendar
(onSelect)="historyTable.filter($event,'release_datetime', 'dateRangeFilter')"
placeholder="Search by release date"
[appendTo]="historyTable"
[(ngModel)]="rangeDates"
</p-calendar>
</th>
и в компоненте я FilterUtils
определил следующим образом:
FilterUtils['dateRangeFilter'] = (value, filter): boolean => {
if (filter === undefined || filter === null) {
return true;
}
if (value === undefined || value === null) {
return false;
}
console.log(value);
if (this.rangeDates[0] <= value amp;amp; this.rangeDates[1] >= value) {
return true;
}
}
Но это не работает. Если кто-нибудь может направить меня в правильном направлении, это было бы полезно.
Я получаю value
как неопределенный. Я пробовал $event.target.value
, но он также не работает.
Ответ №1:
Попробуйте обновить свой календарь, как показано ниже. Вместо использования $event
вам нужен rangeDates
фильтр as.
<p-calendar
[(ngModel)]="rangeDates"
(onSelect)="historyTable.filter(rangeDates,'release_datetime', 'dateRangeFilter')"
placeholder="Search by release date"
[appendTo]="historyTable">
</p-calendar>