TypeScript如何从另一类型的字段中仅提取值类型?
如何从TypeScript接口中提取单个字段的取值类型?
你可以使用TypeScript索引访问类型直接提取接口中某个字段的取值类型,Pick是用来提取字段组成新对象类型的,并不适用于这个场景。
具体实现方式:
- 通过
接口名['字段名']的语法直接获取目标字段的类型 - 可以给该类型起别名,方便在组件props等场景复用
示例代码:
export interface RoleDto { id: string; objectNumber: string; roleType: "BA" | "BM" | "BP" | "FR" | "RM"; } // 提取roleType字段的取值类型并定义别名 type IRoleType = RoleDto['roleType']; // 在组件props中使用该类型 export const RolleTag = ({ rolleType }: { rolleType: IRoleType }) => { // 组件逻辑实现 };
此时IRoleType就等价于"BA" | "BM" | "BP" | "FR" | "RM",完全满足你在组件props中使用单个字段取值类型的需求。
内容的提问来源于stack exchange,提问作者Ludwig
相关产品推荐
相关产品推荐

