Как состояние, у меня есть поля ввода (атм угловой материал) внутри контейнера формы (mat-form-field
).
Я пытаюсь использовать пользовательскую экранную клавиатуру (простая клавиатура). Однако я хочу, чтобы клавиатура открывалась, когда поле ввода было сфокусировано, и закрывалась, когда оно больше не фокусировалось:
<mat-form-field class="full-width">
<input matInput placeholder="input"
type="number" formControlName="inputControl"
#inputControl
(focus)="showKeyboard =true"
(blur)="showKeyboard=false"
>
</mat-form-field>
<app-keyboard [style.display]="showKeyboard ? 'inline' : 'none'"
[inputName]="'inputControl'"
(input)="inputControl.value=$event"></app-keyboard>
Проблема в том, что для сенсорных (или я не знаю) событий на клавиатуре, событие blur
поля ввода, похоже, срабатывает, и клавиатура, таким образом, закрывается при каждом нажатии клавиши.
Я пытался вручную избежать всплытия событий focus
и click
для клавиатуры с (focus)="$event.stopImmediatePropagation()"
, но это ничего не изменило.