Не все методы Braintree HostedFields доступны для машинописного текста?

Я использую Braintree Sandbox в своем проекте ReactJs с машинописным текстом.

Согласно Braintree Docs для фокуса, поле можно сфокусировать с помощью .focus() метод.

       hostedFieldsInstance.focus('number', function (focusErr) {
  if (focusErr) {
    console.error(focusErr); 
  }
});

Проблема: в моем файле typeScript hostedFieldsInstance не показывает .focus()как допустимый метод. Я получаю следующую ошибку:

Property 'focus' does not exist on type 'HostedFields'.ts(2339)

VS Code также предлагает только несколько существующих методов braintree, но не .focus():

1 ответ

Определения TS из DefininiteTyped не включают эту функцию, но это не значит, что вы не можете вызывать ее независимо. Ваши варианты включают:

  • Обход проверки компилятора TS в этом случае ((hostedFields as any).focus(...))
  • Написание собственных определений типов для BrainTree, импортирование существующих из Определенного Типа и их переопределение, чтобы добавить то, что вам нужно
  • Ожидание перезаписи BrainTree TS (см. Этот комментарий)
Другие вопросы по тегам