Graphql 类型';枚举';不可分配给类型为';ClassType<;未知>';

Graphql 类型';枚举';不可分配给类型为';ClassType<;未知>';,graphql,typegraphql,Graphql,Typegraphql,我想创建抽象的泛型order类,如下所示 export function Order<T>(OrderItem: ClassType<T>) { @InputType({ isAbstract: true}) abstract class Order implements IOrder<OrderItem>{ @Field(type => OrderItem) field: OrderItem;

我想创建抽象的泛型order类,如下所示

export function Order<T>(OrderItem: ClassType<T>) {
    @InputType({ isAbstract: true})
    abstract class Order implements IOrder<OrderItem>{
        @Field(type => OrderItem)
        field: OrderItem;

        @Field(type => OrderByDirection)
        direction: OrderByDirection;
    }

}
当我把enum设为T时,我得到了TS2345

BaseOrderItem的类型不可分配给“ClassType”类型的参数

@InputType()
export class TestOrder extends Order(BaseOrderItem) {}
如何使用枚举动态输入类型

当我取消“类类型”限制时

export function Order<T>(OrderItem) {
    @InputType({ isAbstract: true })
    abstract class Order implements IOrder<T> {
        @Field(type => OrderItem)
        field: T;

        @Field(type => OrderByDirection, { nullable : true})
        direction: OrderByDirection;
    }
}


如果要使用枚举,只需取消
ClassType
限制即可


同样的问题可能会出现在
IOrder

上,很抱歉回复太晚。当我取消类类型限制时,我得到如下消息。类型“void”不是构造函数类型
export function Order<T>(OrderItem) {
    @InputType({ isAbstract: true })
    abstract class Order implements IOrder<T> {
        @Field(type => OrderItem)
        field: T;

        @Field(type => OrderByDirection, { nullable : true})
        direction: OrderByDirection;
    }
}

type 'void' is not a constructor function type