Graphql 类型';枚举';不可分配给类型为';ClassType<;未知>';
我想创建抽象的泛型order类,如下所示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;
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