Я использую PrimeNg <p-calendar>
и имею [touchUI]="true"
и [showTime]="true"
Это вызывает DatePicker с наложением, блокирующим остальную часть веб-страницы. Все это прекрасно работает. За исключением случаев, когда выбраны дата и время, единственный способ закрыть DatePicker и удалить наложение - щелкнуть за пределами DatePicker. Что мне нужно, так это место, где пользователь может щелкнуть, чтобы закрыть DatePicker и удалить оверлей.
У меня есть кнопка, включающая <p-footer>
Я также смог использовать декоратор @ViewChild
для доступа к свойству overlayVisible и вручную установить для него значение false.
Это закрывает DatePicker, но, к сожалению, оставляет наложение, блокирующее всю страницу, до тех пор, пока оно не обновится.
Я уверен, что это простое исправление, но оно поставило меня в тупик.
В моем компоненте
@ViewChild('myCalendar') datePicker;
close() {
this.datePicker.overlayVisible = false;
}
HTML
<p-calendar #myCalendar
formControlName="tsClockIn"
[showIcon]="true"
[touchUI]="true"
[showTime]="true">
<p-footer>
<button pButton type="button" label="Close" (click)="close()"></button>
</p-footer>
</p-calendar>