Typescript:由于索引签名而无法添加方法?

问题描述 投票:0回答:1

我有一个像下面这样的抽象类。

export abstract class BaseAPI {
      static readonly [key: string]:
        | ApiCall<unknown> // Defines a single API call with a generic response type
        | { [subKey: string]: ApiCall<unknown> } // Nested API call definitions
        | undefined; // Supports optional static members
        
      // Static method example
      static myStaticMethod(): string {
        return 'This is a static method';
      }
    }

在类中添加方法后,我收到此打字稿错误...

Property 'myStaticMethod' of type '() => string' is not assignable to 'string' index type 'ApiCall<unknown> | { [subKey: string]: ApiCall<unknown>; } | undefined'.ts(2411)

我该如何处理这个问题?

typescript abstract-class
1个回答
0
投票

我找到了解决方案:我需要将

| (() => string);
添加到索引签名中。

可以在此处找到示例:https://playcode.io/2184949

© www.soinside.com 2019 - 2024. All rights reserved.