是否可以在TypeScript中执行此操作?
注意:任何属性名称在props
参数中都是有效的
type Values<T extends object> = Pick<T, Exclude<keyof T, 'onStart'>>
declare function animate<T extends {
onStart?: (values: Values<T>) => void
}>(props: T): void
animate({
foo: 100,
onStart(values) {
// $Expect(values == { foo: number })
}
})