@@ -107,7 +107,7 @@ export type ComponentPublicInstanceConstructor<
__isFragment?: never
__isTeleport?: never
__isSuspense?: never
- new (): T
+ new (...args: any[]): T
}
export type CreateComponentPublicInstance<
@@ -65,7 +65,7 @@ interface Constructor<P = any> {
- new (): { $props: P }
+ new (...args: any[]): { $props: P }
// The following is a series of overloads for providing props validation of
@@ -701,6 +701,16 @@ describe('defineComponent', () => {
components: { comp }
})
+
+ test('should accept class components with receiving constructor arguments', () => {
+ class Comp {
+ static __vccOpts = {}
+ constructor(_props: { foo: string }) {}
+ }
+ defineComponent({
+ components: { Comp }
+ })
describe('emits', () => {