fix(types): relax ComponentPublicInstanceConstructor type for class components (#1943)
This commit is contained in:
parent
955450f539
commit
67b6e0f894
@ -107,7 +107,7 @@ export type ComponentPublicInstanceConstructor<
|
|||||||
__isFragment?: never
|
__isFragment?: never
|
||||||
__isTeleport?: never
|
__isTeleport?: never
|
||||||
__isSuspense?: never
|
__isSuspense?: never
|
||||||
new (): T
|
new (...args: any[]): T
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CreateComponentPublicInstance<
|
export type CreateComponentPublicInstance<
|
||||||
|
@ -65,7 +65,7 @@ interface Constructor<P = any> {
|
|||||||
__isFragment?: never
|
__isFragment?: never
|
||||||
__isTeleport?: never
|
__isTeleport?: never
|
||||||
__isSuspense?: never
|
__isSuspense?: never
|
||||||
new (): { $props: P }
|
new (...args: any[]): { $props: P }
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following is a series of overloads for providing props validation of
|
// The following is a series of overloads for providing props validation of
|
||||||
|
@ -701,6 +701,16 @@ describe('defineComponent', () => {
|
|||||||
components: { comp }
|
components: { comp }
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('should accept class components with receiving constructor arguments', () => {
|
||||||
|
class Comp {
|
||||||
|
static __vccOpts = {}
|
||||||
|
constructor(_props: { foo: string }) {}
|
||||||
|
}
|
||||||
|
defineComponent({
|
||||||
|
components: { Comp }
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('emits', () => {
|
describe('emits', () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user