В настоящее время я использую календарный компонент PrimeNG, и я полагаюсь на onClose
календаря для обновления моих базовых данных, когда пользователь вводит дату. Тем не менее, я заметил, что когда фокус покидает календарь с помощью нажатия кнопки вкладки, событие onClose
не срабатывает.
Шаблон представляет собой нечто простое, например:
<p-calendar
...
(onClose)="closeEvent($event)">
</p-calendar>
И функция, для целей тестирования, просто войдите в сообщение:
closeEvent(ev) {
console.log('close event fired');
}
Сообщение правильно регистрируется на экране, когда пользователь выходит из календаря, щелкая по нему мышью, но не запускается при нажатии на вкладки.
Тем не менее, проверка действительно срабатывает при выводе табуляции; Если я введу недопустимую дату перед выводом, она вернется к дате по умолчанию.
Это ошибка? Я не смог найти ничего подобного в списке проблем в репозитории PrimeNG .
Я попытался использовать событие onBlur
, но это вызывает проблему, при которой всплывающее окно календаря не закрывается, когда значение выбирается в первый раз, а событие запускается с предыдущим значением календаря. Дата в календаре должна быть выбрана во второй раз для фактического обновления модели, а событие onBlur
должно быть вызвано с правильным значением.
Приведенный выше код был протестирован в Chrome и Firefox.
Мы используем PrimeNG версии 6.1.5