OpenSeadragon 在类型定义中缺少道具

OpenSeadragon missing prop in types definition

我有一个用 React Typescript 编写的应用程序并使用 OpenSeadragon (https://openseadragon.github.io/) to display images. To get type definitions for OpenSeadragon I use @types/openseadragon: https://www.npmjs.com/package/@types/openseadragon

我想使用来自 OpenSeadragon (https://openseadragon.github.io/examples/ui-toolbar/) 的工具栏道具,但是,类型定义中缺少此道具。所以,当我尝试在代码中使用 prop 时:

OpenSeadragon({
                id: 'openseadragon-container',
                toolbar: 'toolbarDiv',
            });

我收到以下错误:

(property) toolbar: string Argument of type '{ id: string; toolbar: string; }' is not assignable to parameter of type 'Options'. Object literal may only specify known properties, and 'toolbar' does not exist in type 'Options'.

我想知道是否有任何方法可以克服这个问题以及如何使用工具栏道具?有什么建议吗?

解决此问题的一种方法是创建 Options 类型的 interface 并在其中包含 toolbar。因此,您将扩展现有的 Options 类型并包含您需要的所有参数。

interface OptionsWithToolbar extends OpenSeadragon.Options {
  toolbar: string;
}

OpenSeadragon({
  id: "openseadragon-container",
  toolbar: "toolbarDiv"
} as OptionsWithToolbar);