PrimeNG Chips: добавить тег при вводе точки с запятой - PullRequest
0 голосов
/ 16 мая 2019

Компонент PrimeNG Chips добавляет тег при нажатии клавиши Enter. Я также хочу принять тег после ввода точки с запятой. Можно ли вызвать клавишу Enter при нажатии клавиши с запятой?

semicolumn(e) {
    if (e.key == ';') {

    }
}

<p-chips [addOnTab]="true" [addOnBlur]="true" (keydown)="semicolumn($event)"></p-chips>

Например, когда пользователь вводит test;, он будет выглядеть так, как если бы он набрал test, а затем Enter.

1 Ответ

1 голос
/ 16 мая 2019

Запуск ключевых событий Enter представляется сложным. Однако, поскольку вы установили параметр addOnBlur для компонента PrimeNG Chips:

<p-chips [addOnTab]="true" [addOnBlur]="true" (keydown)="onKeyDown($event)" ></p-chips>

вы можете принять тег, вызывая blur() и focus() последовательно для элемента ввода, когда вводится точка с запятой:

onKeyDown(event: KeyboardEvent) {
  if (event.key === ";") {
    event.preventDefault();
    const element = event.target as HTMLElement;
    element.blur();
    element.focus();
  }
}

См. этот стек для демонстрации.

...