【发布时间】:2021-04-21 05:23:04
【问题描述】:
我有以下代码: Typescript Playground Link
class User {
email?: string;
}
type FilterQuery<T> = {
[P in keyof T]?:T[P];
}
interface IUserRepository<TUser extends User> {
findOne(filter: FilterQuery<TUser>): TUser;
}
class UserService<TUser extends User> {
constructor(private userRepository: IUserRepository<TUser>) {
}
getUser(email: string) {
this.userRepository.findOne({ email: email });
}
}
我收到以下编译错误:
类型参数 '{ email: string; }' 不可分配给参数 'FilterQuery' 类型。
我什至在 { email: email } 上获得了正确的自动完成功能,所以我不确定自己做错了什么。
【问题讨论】:
标签: typescript typescript-generics mapped-types