Как прослушивать сканирование штрих-кода в фоновом режиме в приложениях Angular 9, 10

У меня есть приложение POS, разработанное с использованием angular, и я хочу добавить окно поиска, чтобы пользователь мог вводить и просматривать продукт, и независимо от того, где находится фокус курсора, когда я получаю ввод сканера штрих-кода, я хочу искать из другого API, который я использую для поиска типов.

Я не хочу отображать ввод штрих-кода. Он должен получать и искать автоматически.

До сих пор я пытался применять различные пакеты. но не могу найти никакого правильного подхода к этому вопросу. может кто-нибудь, пожалуйста, помогите мне реализовать это в angular

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
91
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте HostListener для прослушивания нажатия клавиш и обработки combinedCode по вашему правилу, этот пример выполняет действие, когда код начинается с ESIGN.

@HostListener('document:keypress', ['$event'])
keyEvent(event: KeyboardEvent) {
    if (event.key === 'Enter') {
        console.info(this.combinedCode);
        if (this.combinedCode && this.combinedCode.toLocaleUpperCase().startsWith('ESIGN')) {
            this.displaySignModal = true;
            this.signForm.reset();
            setTimeout(() => {
                window.dispatchEvent(new Event('resize'));
            });
        }
        this.combinedCode = null;
    } else {
        if (this.combinedCode === null) {
            this.combinedCode = event.key;
        } else {
            this.combinedCode = (this.combinedCode || '') + event.key;
        }
    }
}

Я работал по моему требованию

CrazyCoder 23.12.2022 19:32

Другие вопросы по теме