Svelte Typescript-不包括道具类型



问题:我想创建一个函数,以一种通用的方式将组件作为第一个参数,将其道具作为第二个参数

import FileUpload from "./FileUpload.svelte";
function openModal(component: typeof FileUpload, componentProps: ConstructorParameters<typeof FileUpload>['0']['props']) {
/** Do stuff*/
}
openModal(FileUpload, { xD: true })

这是有效的,只是不是通用的,我不明白在通用类型中使用什么

我试过T extends SvelteComponent, T extends Svelte2TsxComponent

我在某种程度上解决了

我不确定我应该放什么而不是那些";任何、任何";,但它似乎无论如何都有效,任何奖金解释都将不胜感激,谢谢:D

function openModal<T extends SvelteComponentConstructor<any, any>>(component: T, componentProps: ConstructorParameters<T>['0']['props']) {
/** Do stuff*/
}

附言:我在等着给;正确答案";以防有人找到更好的解决方案,因为我真的不喜欢这个

最新更新