我有一个用于上传文件的组件,在该组件中,用户可以基于用户传递给该组件的multiple
属性来上传单个文件或多个文件.用户还可以提供onChange
功能,在该功能中它将接收已经上载的文件.如果用户上传一个文件,我将传递Change a File
,如果用户上传多个文件,我将传递Change a File[]
.有没有一种方法可以声明一个基于布尔属性的接口,可以决定它应该是什么版本的函数?
export interface FilePickerProps {
multiple?: boolean
// something like this
onChange: multiple ? (selectedFiles: File[]) => void : (selectedFiles: File) => void
}
我希望在传递onChange
属性时,我可以接收到选定文件参数的正确类型,如果它是File
或File[]
的话.