在此处使用示例代码笔进行了更新: https://codepen.io/dalefenton/pen/ejZgqJ?editors=0011
对于一个<select>
输入,我有一个采用通用类型的接口,该通用类型代表输入表单的数据,如下所示:
理想情况下,optionsAccessor必须是<D>
中任何对象数组的类型定义的键(即,如果<D>
看起来像{ model: Model, options: ModelOption[]}
,则optionsAccessor
应该必须是ModelOption
的键)。例如,在下面的第二个图像中,optionsAccessor
必须是keyof Stack
或keyof Organization
,因为stack
和organization
是LinkAccountFormData
中的唯一键以数组作为其值
类似地,对于optionsText
,o
参数的类型必须为Stack
或Organization
(又称任意数组类型的一个,它是键的值) LinkAccountFormData
)
有了这个定义,我不得不在string
键上使用额外的optionsAccessor
选项,并且optionsText
的配置错误,并且仅在{ {1}}类型为Model
,因此我暂时将<D>
设置为o: D[keyof D]
。
是否可以使用泛型类型更详细地了解像这样的对象中的派生值?