我在带有 typescript 的 ReactJs 项目中使用 Braintree Sandbox。
根据 Braintree Docs对于焦点,可以使用 .focus()
方法聚焦一个字段。
hostedFieldsInstance.focus('number', function (focusErr) {
if (focusErr) {
console.error(focusErr);
}
});
问题:在我的 typeScript 文件中,hostedFieldsInstance 没有将 .focus()
方法显示为有效方法。我收到以下错误:
类型“HostedFields”上不存在属性“focus”.ts(2339)
VS Code 也只建议了一些现有的 braintree 方法而不是 .focus()
:
最佳答案
The TS definitions from DefinitelyTyped不包含该函数,但这并不意味着您无论如何都不能调用它。您的选择包括:
- 在这种情况下绕过 TS 编译器检查 (
(hostedFields as any).focus(...)
) - 为 BrainTree 编写您自己的类型定义,从 DefinitelyTyped 导入现有类型定义并覆盖它们以添加您需要的内容
- 等待 BrainTree TS 重写(参见 this comment)
关于typescript - 并非所有 braintree HostedFields 方法都可用于 typescript ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64553877/