Форма оплаты кредитной картой, включить сканирование в Chrome с помощью пользовательского интерфейса Angular и Kendo?

Я работаю над формой оплаты кредитной картой в Angular с пользовательским интерфейсом Kendo. Я хочу включить сканирование (что, как ни странно, является частью функции автозаполнения браузера).

Я прочитал эту статью и поэкспериментировал с этим базовым примером и этот обходной путь для моего конкретного случая:

`

export class AppComponent {
  @ViewChild("creditCardNumber") creditCardNumber;

  ngAfterViewInit() {
    this.creditCardNumber.input.nativeElement.setAttribute(
      "autocomplete",
      "cc-number"
    );
  }
}

`

Не повезло - атрибуты автозаполнения добавляются к моим элементам кендо, но сканер все равно не работает. Я пытался использовать ngrok, так что проблема не в https.

Я попытался перепроектировать форму - сканирование работает в хроме с необработанным html, но перестает работать, когда я ввожу Angular.

Любая помощь будет оценена по достоинству. Я начинаю терять рассудок. Спасибо.

🤔 А знаете ли вы, что...
Angular поддерживает локализацию и многоязычность приложений.


85
1

Ответ:

Решено

Я не в состоянии проверить это, потому что у меня нет сканера, но если вы хотите внешний вид кендо с функцией автозаполнения, почему бы вам не использовать директиву TextBox (документация) и не установить автозаполнение на входе. Что-то вроде этого:

<input #creditCardNumber autocomplete = "cc-number" kendoTextBox />

Рабочий пример: https://codesandbox.io/s/bold-bird-98jmp0?file=/src/app/app.component.ts