【发布时间】:2019-02-25 12:36:57
【问题描述】:
我有这个功能
function someThing(someArg: Pick<HTMLElement, 'id' | 'style'>) {...}
但是,我只想为someArg.style 添加一些样式,而不是CSSStyleDeclaration 中的所有样式。否则函数的输入会很大。
所以我希望有类似Pick 来自Partial<CSSStyleDeclaration> 而不是Pick 来自CSSStyleDeclaration 的东西
我该怎么做?
【问题讨论】:
-
所以如果 Picked 属性是对象类型,您是否希望它们是部分的?具有映射类型的条件类型可以很好地用于
type PartialProps<T> = { [P in keyof T]: T[P] extends object ? Partial<T[P]> : T[P] }并使用它PartialProps< Pick<HTMLElement, 'id' | 'style'>> -
Pick<Partial<CSSStyleDeclaration>, 'color'>不能满足您的需求吗? -
非常好的方法@TitianCernicova-Dragomir。正是我想要的
标签: typescript typescript-partial