首页 > 解决方案 > 扩展派生类中的参数类型

问题描述

我希望能够覆盖foo重载类中的方法,但我希望确保该event参数必须包含"aaa" | "bbb".

下面的代码显示了我试图实现的目标,但给出了类型不可分配的错误。

class ble {
    foo<T>(event: T | "aaa" | "bbb") {
    }
}

class ble2 extends ble {
    foo(event: "ccc" | "aaa" | "bbb") {
        super.foo(event);
    }
}

谢谢你的帮助。

标签: typescript

解决方案


似乎它应该是类的参数,而不是方法的

class ble<T> {
    foo(event: T | "aaa" | "bbb") {
    }
}

class ble2 extends ble<"ccc"> {
    foo(event: "ccc" | "aaa" | "bbb") {
        super.foo(event);
    }
}

推荐阅读