我有一些我手动创建的数据:
const fields = [{ id: 'myId', value: '', type: 'text' }, { id: 'myId2', value: '', type: 'select' }]
或
const fields = { myId: { value: '', type: 'text' }, myId2: { value: '', type: 'select' } }
我想构建一个接口,如:
type Out = { myId: string; myId2: CustomType }
string
或CustomType
将取决于我传递给type
字段的内容。
整个示例将用于为onSubmit
处理程序中的值构建类型,该处理程序将定义可用字段(通过字段数据的id),并取决于它在输入数据中的type
字段中定义的内容(联合类型)。
1条答案
按热度按时间zlwx9yxi1#
你首先需要一个类型名称(字符串)到TypeScript类型的Map:
然后,你可以定义一个类型,它可以接受一个字段数组并从它们创建一个类型,使用mapped types:
同样,也可以创建类型来变换对象:
Playground