Как показать ngx- bootstrap datepicker при ручной фокусировке на вводе? - PullRequest
0 голосов
/ 17 января 2020

Я хочу реализовать некоторые логи c, когда средство выбора даты теряет фокус => так (размытие), но! когда я хочу выбрать какую-либо дату из указанного средства выбора, она вызовет логи c ->, закрывающую средство выбора даты и не регистрирующую изменение значения. Мой подход (onHidden), так как он не срабатывает, когда я использую средство выбора даты, но когда я щелкаю снаружи, а срабатывает только тогда, когда отображается средство выбора даты.

Как мне добиться отображения средства выбора даты, когда я вручную устанавливаю поле ввода для фокусировки? Поскольку нет доступных служб и / или типов директив, в которых я мог бы вызвать .show().

Пример, связанный со Stackblitz:

@ Edit: модифицированный stackblitz для лучшего соответствия моей проблеме.

Stackblitz

1 Ответ

1 голос
/ 17 января 2020

Вы можете использовать метод click () , доступный в nativeElement, для запуска DatePicker. Попробуйте, это работает.

Редактировать: С небольшим тайм-аутом вы можете подождать, пока элемент станет видимым, чтобы вызвать событие щелчка.

 toggleEditMode() {
    this.editing = !this.editing;
    setTimeout(() => {
       if(this.picker) {
         this.picker.nativeElement.focus();
         this.picker.nativeElement.click();
       }
    },100)
  }
...