需求 interface User { parent: { name: string; }; age: number; name: string; } type Column = { key: keyof User; }; const columns: Column[] = [ { key: 'name' }, { key: 'name1' }, { key:'parent.name' } ]; 解决办法 type Paths<T> = T extends object ? { [K in keyof T]: `${Exclude<K, symbol>}${"" | `.${Paths<T[K]>}`}` }[keyof T] : never type Column = { key: Paths<User>; }; 除了自己写Paths类型外,还可以使用现成的库,比如type-fest中的Path类型。
7月 22, 2025
本文介绍关于第三方包中全局类型定义不work问题,包括使用场景、实现细节等,以提高关于第三方包中全局类型定义不work问题的效率。
4月 5, 2022
本文介绍关于前端项目中增加全局常量设置,包括使用场景、实现细节等,以提高关于前端项目中增加全局常量设置的效率。
1月 25, 2022
本文介绍关于给开源项目贡献TS类型声明,包括使用场景、实现细节等,以提高关于给开源项目贡献TS类型声明的效率。
9月 12, 2021
本文是作者对TypeScript中一些特殊类型的介绍,包括TypeScript中一些特殊类型的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript中一些特殊类型的效率。
9月 5, 2021
本文是作者对TypeScript下拓展AxiosRequestConfig类型定义的介绍,包括TypeScript下拓展AxiosRequestConfig类型定义的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript下拓展AxiosRequestConfig类型定义的效率。
1月 11, 2021
本文是作者对TypeScript的Enum与ES6的Symbol的介绍,包括TypeScript的Enum与ES6的Symbol的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript的Enum与ES6的Symbol的效率。
12月 2, 2020
本文介绍关于TypeScript的认识,包括使用场景、实现细节等,以提高关于TypeScript的认识的效率。
11月 10, 2020
本文是作者对TypeScript升级到v4的介绍,包括TypeScript升级到v4的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript升级到v4的效率。
10月 21, 2020
本文是作者对TypeScript装饰器实践的介绍,包括TypeScript装饰器实践的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript装饰器实践的效率。
5月 16, 2020
本文是作者对ts-loader迁移至babel-loader的介绍,包括ts-loader迁移至babel-loader的优势、实现细节、相关资料等,这些步骤可以帮助作者提高ts-loader迁移至babel-loader的效率。
5月 2, 2020
本文介绍关于消灭TS项目中的Dead Code,包括使用场景、实现细节等,以提高关于消灭TS项目中的Dead Code的效率。
3月 29, 2020
本文是作者对JavaScript method vs function vs member的介绍,包括JavaScript method vs function vs member的优势、实现细节、相关资料等,这些步骤可以帮助作者提高JavaScript method vs function vs member的效率。
3月 1, 2020
本文是作者对regeneratorRuntime is not defined的介绍,包括regeneratorRuntime is not defined的优势、实现细节、相关资料等,这些步骤可以帮助作者提高regeneratorRuntime is not defined的效率。
2月 2, 2020
本文是作者对TypeScript中implements与extends的区别的介绍,包括TypeScript中implements与extends的区别的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript中implements与extends的区别的效率。
1月 30, 2020
本文是作者对TypeScipt中unknown与any区别的介绍,包括TypeScipt中unknown与any区别的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScipt中unknown与any区别的效率。
1月 12, 2020
本文是作者对Duplicate identifier LibraryManagedAttributes的介绍,包括Duplicate identifier LibraryManagedAttributes的优势、实现细节、相关资料等,这些步骤可以帮助作者提高Duplicate identifier LibraryManagedAttributes的效率。
12月 24, 2019
本文是作者对React在TypeScript使用中的类型问题的介绍,包括React在TypeScript使用中的类型问题的优势、实现细节、相关资料等,这些步骤可以帮助作者提高React在TypeScript使用中的类型问题的效率。
10月 23, 2019
本文是作者对TypeScript中的interface vs Type的介绍,包括TypeScript中的interface vs Type的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript中的interface vs Type的效率。
10月 15, 2019
本文是作者对JSX.Element vs React.ReactNode的介绍,包括JSX.Element vs React.ReactNode的优势、实现细节、相关资料等,这些步骤可以帮助作者提高JSX.Element vs React.ReactNode的效率。
9月 28, 2019
本文是作者对TSLint并不check TypeScript错误的介绍,包括TSLint并不check TypeScript错误的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TSLint并不check TypeScript错误的效率。
9月 10, 2019
本文是作者对TypeScript下的类型转换的介绍,包括TypeScript下的类型转换的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript下的类型转换的效率。
8月 18, 2019
本文对比TypeScript和JavaScript,讨论是否应该将项目迁移到TypeScript。介绍了TypeScript的优势,如类型检查和语言特性,以及两种语言的主要区别,帮助读者做出选择。
6月 30, 2018