【发布时间】:2022-05-01 17:12:07
【问题描述】:
我需要一个接口来根据需要制作其他接口的某些字段。 例如:我有 IUserInterface:
interface IUser {
name: string;
role?: string;
}
interface IUserFromDB {
id: number;
name: string;
role: string;
}
当我创建新用户时 - 角色是可选的。 DB 设置默认角色,当我从 DB 中选择用户时 - role 必须在 userObject 中。
我可以像上面写的那样编写接口,但是在实际项目中,这种方法会产生很多冗余代码。所以,我需要一些界面,帮助我获得旧界面并根据需要制作一些可选字段。
我想要这样的东西:
interface IUser {
name: string;
role?: string;
}
type IUserFromDB = WithRequired<IUser, 'role'[|...]> & {
id: number;
...;
};
请帮我创建这个WithRequired 类型。
【问题讨论】:
-
到目前为止你尝试了什么?
标签: typescript typescript-typings